Problem mit Daten in DB speichern

Das Feld if ist auto_increment,. Ergo solltest du es nicht mit deinem INSERT abfüllen sondrn der DB überlassen da was reinzuschreiben.

Wenn du eine ID nimmst die schon exisitiert, kann er den Datensatz nicht speichern da auf dem Feld ID ein Key leigt und der ist eindeutig.
 
Okay danke das mit dem name im sendebutten hab ich ganz vergessen^^

Jetzt hab ich folgende Fehlermeldung
Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Jetzt kommen wir der sache schon näher^^
 
Siehe obige Antwort von yaslaw, das könnte der Grund sein !!

Ansonsten wie immer SQL Anweisung an eine Variable übergeben und diese via echo oder so am Bildschirm anzeigen und kontrollieren was falsch ist.
 
UPDATE => ändern eines bestehenden Datensatzes
INSERT => neuen Datensatz hinzufürgen

Es gibt nicht 'Lieber mit UPDATE arbeiten'. Du musst wissen was das Script machen soll und dementsprechend wählen.

Nungut, viele DBMS sind heute so freundlich diese Entscheidung abzunehmen. So auch MySQL ab Version 5.1 mit dem 'INSERT ... ON DUBLICATE UPDATE ...'. Damit muss man aber vorsichtig sein. Ansonsten hat man schnell die Daten mehrfach drinne, weil man keine Kontrolle mehr hat.
http://dev.mysql.com/doc/refman/5.1/de/insert-on-duplicate.html
 
Was willst du machen, einen neuen Datensatz speichern oder einen bestehenden ändern?

Zur Not kannst du auch folgende Anweisung nehmen:

"INSERT INTO tabelle (feld1, feld2, feld3, ...) VALUES ('wert1', 'wert2', 'wert3', ...) ON DUPLICATE KEY UPDATE feld_xyz = 'neuer wert'";

Hiermit wird immer dann aktualisiert wenn du einen Eintrag machst für den es schon einen eindeutigen Index gibt, ansonsten wird ein neuer Datensatz angelegt.
 
Nun ich mach das jetzt so dass ich erst den alten inhalt lösche und den neuen dann mit insert einfüge. das geht jetzt auch. mir wird alles geändert. doch eins stört mich nur noch. da kommt ne fehlermeldung die ich nicht wegbekomme.

Der inhalt wird jetzt aber geändert.

Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Das kommt obwohl das script jetzt funktioniert.
 
Ist es ein Fehler oder ist es "nur" eine Warnung. Wenn es ein Fehler ist dürften die Änderungen eigentlich nicht gemacht werden.

Egal, ändere mal diese Zeilen ab:

PHP:
$qry = mysql_query("INSERT INTO `$db` (`id`, `inhalt`) VALUES (1, '$inhalt')") OR die(mysql_error());

Schreib dafür:

PHP:
$sql = "INSERT INTO $db (id, inhalt) VALUES (1, '$inhalt')";
$qry = mysql_query($sql) OR die(mysql_error());

Den Inhalt von $sql lässt du dir dann mit echo am Bildschirm ausgeben. Das was da angezeigt wird, kopierst du hier rein!!

NACHTRAG:
Habe den "CREATE TABLE" Code von Seite 1 gerade kopiert und bei meiner Testdatenbank ausgeführt. Anschließend habe ich die SQL Anweisung von dir kopiert und für $db den Wert a1 eingetragen und für $inhalt ein paar Buchstaben genommen.
Die SQL Anweisung wird ohne zu Meckern ausgeführt!! Kann es sein das du bei dir etwas anderes stehen hast wie hier
 
Zuletzt bearbeitet:
Zurück