Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MySQL - Tabelle speichert keine Daten

Frage Entwicklung Datenbanken

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

18.03.2013, aktualisiert 09:41 Uhr, 3760 Aufrufe, 35 Kommentare

Hi NG,

ich kann bei einer MySQL-Tabelle keine Datensätze hinzufügen, obwohl ein Primärschlüssel und ein Timestamp-Feld definiert sind. Das Primärschlüssel-Feld ist auf AutoIncrement gestellt.

Woran liegt das und wie kann ich den Fehler beheben.

Gruß
Andy
35 Antworten
Mitglied: catachan
18.03.2013 um 09:42 Uhr
Hi

wie sieht die Fehlermeldung aus ? Hat das Userkonto auch INSERT Berechtigung ?

LG
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013 um 09:42 Uhr
Hallo,

Woran liegt das und wie kann ich den Fehler beheben.
Das könnten wir dir eventuell sagen, wenn du uns den Fehler auch mitteilst. Gibt es irgendwelche Fehlermeldungen, wenn ja, welche!?

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 09:48 Uhr
Hi,

der User ist root. Eine Fehlermeldung gibt es nicht.

Gruß
Andy
Bitte warten ..
Mitglied: catachan
18.03.2013 um 09:49 Uhr
Hi

Eine Fehlermeldung gibt es nicht.

Dubios ! Wie greifst du auf die Datenbank zu ? PHP ?

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 09:51 Uhr
Hi,

über PHP und ODBC.

Gruß
Andy
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013 um 09:52 Uhr
Hallo,

liest er denn die bestehenden Datensätze oder funktioniert auch dies nicht?

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: catachan
18.03.2013 um 09:53 Uhr
Hi

Poste mal bitte den Code ! Bitte die CodeTags nicht vergessen.
ODBC oder die internen PHP-Mysql Funktionen wie mysql_connect() ?

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 09:59 Uhr
Hi,

in dieser Tabelle gibt es noch keine Datensätze.

Gruß
Andy
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 15:46 Uhr
Hi,

hier der Code:
01.
<?php 
02.
$anrede = $_POST["anrede"]; 
03.
$vorname = $_POST["vorname"]; 
04.
$nachname = $_POST["nachname"]; 
05.
$strasse = $_POST["strasse"]; 
06.
$ort = $_POST["ort"]; 
07.
$plz = $_POST["plz"]; 
08.
 
09.
$email = $_POST["email"]; 
10.
$kommentar = $_POST["kommentar"]; 
11.
 
12.
$daten = "adressen"
13.
$db = mysql_connect ("localhost", "root", ""); 
14.
$select_db = mysql_select_db($daten);  
15.
 
16.
 
17.
 
18.
$sql_befehl = "INSERT INTO mitgieder(               
19.
                    Anrede, 
20.
					Vorname, 
21.
					Nachname, 
22.
					strasse, 
23.
					plz, 
24.
					ort, 
25.
					EMail, 
26.
					Kommentar) 
27.
					 
28.
					values( 
29.
					 
30.
					'$anrede'
31.
					'$vorname'
32.
					'$nachname'
33.
					'$strasse'
34.
					'$plz'
35.
					'$ort'
36.
					'$email'
37.
					'$kommentar')"; 
38.
					 
39.
$result = mysql_query($sql_befehl); 
40.
 
41.
if ($result
42.
43.
   echo "gespeichert"
44.
45.
else 
46.
47.
   echo "nicht gespeichert"
48.
49.
 
50.
mysql_close($db); 
51.
 
52.
 
53.
			 
54.
?>
Ferner habe ich im Code das Problem, dass das Feld ORT, obwohl es im Formular existiert und auch richtig geschrieben ist, nicht ausgelesen wird.

Gruß
Andy
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013, aktualisiert um 10:05 Uhr
Hallo Andy,

bitte setz deinen Code zwischen folgende Befehle
< code>
DEIN CODE
< /code>

Leerzeichen nach den < bitte noch entfernen.

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: catachan
18.03.2013 um 10:05 Uhr
Hi

bitte in Code Tags packen.
Heißt deine Tabelle wirklich mitgieder ?

Außerdem würde ich zum Aufbauen der Verbindung folgenden Code verwenden:

01.
 
02.
<?php 
03.
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
04.
if (!$link) { 
05.
    die('Verbindung schlug fehl: ' . mysql_error()); 
06.
07.
echo 'Erfolgreich verbunden'; 
08.
mysql_close($link); 
09.
?>
Ich glaube bei dir hackts schon beim Aufbau der Verbindung

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 10:16 Uhr
Hi,

mit dem 'die' scheint es nicht zu funktionieren. Ich bekomme die Fehlermeldung:

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\PHP\datenbank.php on line 57

Gruß
Andy
Bitte warten ..
Mitglied: catachan
18.03.2013 um 10:22 Uhr
Hi

wie sieht denn deine Zeile 57 aus ? Soll ich raten ?
Wahrscheinlich hast du ?> oder einen ; zu viel.

LG
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013 um 10:25 Uhr
Zitat von catachan:
Hi

wie sieht denn deine Zeile 57 aus ? Soll ich raten ?
Wahrscheinlich hast du ?> oder einen ; zu viel.

LG
Hallo catachan,

soll ich dir meine Glaskugel leihen?

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 10:27 Uhr
Hi,

ja, es heißt ?>. Ein ; ist nicht zuviel.

Gruß
Andy
Bitte warten ..
Mitglied: catachan
18.03.2013 um 10:29 Uhr
Hi

das ?> gehört ganz am Schluss. Beschäftige dich bitte mal mit den PHP Grundlagen

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 10:31 Uhr
Hi,

genau da steht es. Dahinter gibt es auch keine Leerzeile mehr.

Gruß
Andy
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013 um 10:32 Uhr
Hallo AndyAh,

poste deinen gesamten Code hier doch noch einmal bitte und diesmal in den <code></code>-Tags vom Forum, damit dein Code leicht zu lesen und zu deuten ist.

Gruß
@d4shoerncheN
Bitte warten ..
Mitglied: catachan
18.03.2013 um 10:32 Uhr
Hi

dann poste doch endlich mal den Code. Ich kann doch nicht hellsehen !!!!! Wenn du Hilfe haben möchtest, dann gib uns die notwendigen Infos

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 15:47 Uhr
Hi,

hier nocheimal der gesamte Code:
01.
<?php 
02.
$anrede = $_POST["anrede"]; 
03.
$vorname = $_POST["vorname"]; 
04.
$nachname = $_POST["nachname"]; 
05.
$strasse = $_POST["strasse"]; 
06.
 
07.
$plz = $_POST["plz"]; 
08.
 
09.
$email = $_POST["email"]; 
10.
$kommentar = $_POST["kommentar"]; 
11.
 
12.
$daten = "adressen"
13.
$db = mysql_connect ("localhost", "root", ""); 
14.
if (!$db) {  
15.
    die('Verbindung schlug fehl: ' . mysql_error());  
16.
	  
17.
$select_db = mysql_select_db($daten);  
18.
 
19.
 
20.
 
21.
$sql_befehl = "INSERT INTO mitgieder(               
22.
                    Anrede, 
23.
					Vorname, 
24.
					Nachname, 
25.
					strasse, 
26.
					plz, 
27.
					 
28.
					EMail, 
29.
					Kommentar) 
30.
					 
31.
					values( 
32.
					 
33.
					'$anrede'
34.
					'$vorname'
35.
					'$nachname'
36.
					'$strasse'
37.
					'$plz'
38.
					 
39.
					'$email'
40.
					'$kommentar')"; 
41.
					 
42.
$result = mysql_query($sql_befehl); 
43.
 
44.
if ($result
45.
46.
   echo "gespeichert"
47.
48.
else 
49.
50.
   echo "nicht gespeichert"
51.
52.
 
53.
mysql_close($db); 
54.
			 
55.
?>
Gruß
Andy
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013, aktualisiert um 10:38 Uhr
Dann übernehme ich das nun...
01.
<?php 
02.
$anrede = $_POST["anrede"]; 
03.
$vorname = $_POST["vorname"]; 
04.
$nachname = $_POST["nachname"]; 
05.
$strasse = $_POST["strasse"]; 
06.
 
07.
$plz = $_POST["plz"]; 
08.
 
09.
$email = $_POST["email"]; 
10.
$kommentar = $_POST["kommentar"]; 
11.
 
12.
$daten = "adressen"; 
13.
$db = mysql_connect ("localhost", "root", ""); 
14.
if (!$db) { 
15.
die('Verbindung schlug fehl: ' . mysql_error()); 
16.
 
17.
$select_db = mysql_select_db($daten); 
18.
 
19.
 
20.
 
21.
$sql_befehl = "INSERT INTO mitgieder( 
22.
Anrede, 
23.
Vorname, 
24.
Nachname, 
25.
strasse, 
26.
plz, 
27.
 
28.
EMail, 
29.
Kommentar) 
30.
 
31.
values( 
32.
 
33.
'$anrede', 
34.
'$vorname', 
35.
'$nachname', 
36.
'$strasse', 
37.
'$plz', 
38.
 
39.
'$email', 
40.
'$kommentar')"; 
41.
 
42.
$result = mysql_query($sql_befehl); 
43.
 
44.
if ($result) 
45.
46.
echo "gespeichert"; 
47.
48.
else 
49.
50.
echo "nicht gespeichert"; 
51.
52.
 
53.
mysql_close($db); 
54.
 
55.
?>
Wie bereits angesprochen, heißt deine SQL-Tabelle wie in Zeile 21 angegeben:
$sql_befehl = "INSERT INTO mitgieder(
oder ehr mitglieder!?

Gruß
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 10:46 Uhr
Hi,

es heißt zwar mitglieder aber mein Problem mit der Fehlermeldung behebt das nicht.
Wenn ich die Zeile:

if (!$db) {
die('Verbindung schlug fehl: ' . mysql_error());

auskommentiere, funktioniert es. Aber mein Hauptproblem mit der Nichtspeicherung von Daten ist allerdings auch noch nicht gelöst.

Gruß
Andy
Bitte warten ..
Mitglied: d4shoerncheN
18.03.2013 um 10:42 Uhr
Moin,

frage mich nur wie du die Fehlermeldung:
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\PHP\datenbank.php on line 57

bekommen kannst, wenn in deinem nun kompletten Code gar keine Zeile 57 existiert. Merkwürdig...

Gruß
Bitte warten ..
Mitglied: catachan
18.03.2013, aktualisiert um 10:43 Uhr
Hi

bei Zeile 15 Fehlt die geschwungene Klammer zu

01.
if (!$db) {  
02.
die('Verbindung schlug fehl: ' . mysql_error());} 
Bitte warten ..
Mitglied: catachan
18.03.2013 um 10:44 Uhr
Hi

er hat vor dem Posting hier ein paar Zeilen entfernt. Z.B die mir Ort :_)

LG
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 10:52 Uhr
Hi,

der Fehler mit der letzten Zeile ist behoben. Die Verbindung klappt.

Gruß
Andy
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 10:58 Uhr
Hi,

die Zeilen habe ich gelöscht, da PHP den Index 'ort', obwohl im aufrufenden Formular existent, nicht findet.

Gruß
Andy
Bitte warten ..
Mitglied: AndyAh
18.03.2013, aktualisiert um 11:24 Uhr
Hi,

das Problem mit dem Textfeld ist glöst. Fehlt nur noch die Speicherung.

Ich habe eben herausgefunden, das die Speicherung per ODBC doch funktioniert. Nur PHP speichert nicht.

Gruß
Andy
Bitte warten ..
Mitglied: SlainteMhath
18.03.2013, aktualisiert um 11:42 Uhr
Moin,

du warst doch letzte Woche schonmal mit dem gleichen Problem hier, oder?

Ersetze mal bitte
01.
$result = mysql_query($sql_befehl); 
durch
01.
echo "<br>" . $sql_befehl ."<br>";
Und poste dann das Query hier innerhalb code-tags(!!!) bzw füge das ganze mal in myPHPAdmin als ein und schau ob dann in die Table geschrieben wird. Ansonten: Poste die Fehlermeldung hier (innerhlab code tags)

/EDIT: Und poste doch bitte mal innerhalb code-tags(!!!) die Definition der Tabelle.

lg,
Slainte
Bitte warten ..
Mitglied: AndyAh
18.03.2013 um 11:46 Uhr
Hi,

jetzt geht es. Ich habe aus dem INSERT einfach die Datenfeldnamen herausgenommen.

Gruß
Andy
Bitte warten ..
Mitglied: flow.ryan
18.03.2013 um 11:47 Uhr
Hallo,

wie ich sehen solltest du noch einiges in PHP lernen. Aber egal. Jeder fängt einmal an.

01.
$select_db = mysql_select_db($daten); 
Zwecks Fehlerprüfung - du musst das gleiche machen wie mit der Verbindung:

01.
if (!$select_db) {  
02.
die('Verbindung schlug fehl: ' . mysql_error());  
03.
}
Du solltest dir angewöhnen die Spalten entweder alle klein oder alle Groß zu schreiben - so verwirrst du dich nur selbst und schaffst Fehlerquellen. Außerdem solltest du dir einmal PDO anschauen zwecks Sicherheit und MySQL Injections!

Du könntest auch zum Debugging folgendes schreiben:
01.
if ($result) 
02.
03.
echo "gespeichert"; 
04.
05.
else 
06.
07.
echo "nicht gespeichert"; 
08.
echo mysql_error(); 
09.
}
Damit wird die ein Fehler ausgegeben, mit dem es sich leichter arbeiten lässt!


Welchen Fehler erhälst du?
Gruß
Florian.
Bitte warten ..
Mitglied: SlainteMhath
18.03.2013 um 11:48 Uhr
Zitat von AndyAh:
Hi,

jetzt geht es. Ich habe aus dem INSERT einfach die Datenfeldnamen herausgenommen.

Gruß
Andy

/facepalm
Bitte warten ..
Mitglied: flow.ryan
18.03.2013 um 11:51 Uhr
Zitat von AndyAh:
Hi,

jetzt geht es. Ich habe aus dem INSERT einfach die Datenfeldnamen herausgenommen.

Gruß
Andy

Dann hast du doch schon deinen Fehler!!
Hast du die Feldnamen in der Datenbank genauso geschrieben, wie im Script (Groß-/ Kleinschreibung). Du solltest dir angewöhnen, die SQL-Befehler so aussehen zu lassen:

01.
$sql_befehl = "INSERT INTO `mitglieder`(`Anrede`,`Vorname`,`Nachname`) VALUES ('".$anrede."','".$vorname."','".$nachname."');
und bitte jede Variable $vorname, etc mit mysql_real_escape_string sichern!
Bitte warten ..
Mitglied: SlainteMhath
18.03.2013 um 11:55 Uhr
Zitat von flow.ryan:
und bitte jede Variable $vorname, etc mit mysql_real_escape_string sichern!

Den Hinweis hat der TE schon beim letzten Thread dieser Art ignoriert :/
Bitte warten ..
Mitglied: dog
18.03.2013 um 12:56 Uhr
/facepalm

Dafür gibts doch ein Smiley: m(
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Server
gelöst SQL-Tabelle portieren und dabei Daten konvertieren (1)

Frage von menace zum Thema Server ...

VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Microsoft Office
Kopieren von auszuwählenden Daten in weitere Tabelle (1)

Frage von dus100 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...