Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Sql insert into

jdeen / 4 Antworten / Baumansicht Nickles

Hallo zusammen,

ich versuche gerade vergebich mit diesem code einen Eintrag in eine Datenbank zu schreiben.
sql - Version ist 5.0.88 (strato).

$eintrag = "insert into felder_db values ('', '$feld2', '$feld3', '$feld4', '$feld5')";
$ergebnis = mysql_query($eintrag) or die (mysql_error());


Das erste Feld ist autoincrement, wird also nicht übertragen.

Der code funktioniert auf sql 2.2.3 einwandfrei.

Hat sich die syntax seither so sehr geändert?

. . . when the kid next door walking on the moon . . .Wirklich gute Jdeen passen auf einen Bierdeckel
bei Antwort benachrichtigen
Borlander jdeen „Sql insert into“
Optionen

Hast Du denn überhaupt schon mal den Fehlercode geprüft?

Mit Angabe der Spaltennamen wärst Du auf jeden Fall auf der sicheren Seite, auch im Hinblick auf eine evtl. veränderte Tabellenstruktur.

INSERT INTO tbl_name (col_name,...) VALUES (expr,...);
Details siehe http://dev.mysql.com/doc/refman/5.1/de/insert.html


Gruß
Borlander

bei Antwort benachrichtigen
jdeen Nachtrag zu: „Sql insert into“
Optionen

Hallo Borlander,

Die Fehlermeldung lasse ich ja durch " ...or die (mysql_error()); " anzeigen :
"Fehler SQL syntax ... near values( ...
Ich find hier aber keinen Fehler. Ist doch nur eine Auflistung.
Das Lustige daran : Auf SQL 2.2.3? funktioniert das.
Und "insert" ist ja kein neuer Befehl. Das sollte doch funktionieren.

Die Angabe der Spaltennamen habe ich auch schon versucht. Fruchtet auch nicht.

Eigentlich stehe ich mit SQL / php nicht auf Kriefgsfuß.
Arbeite seit 2003 auf einem "alten" Server bei evanzo.
Jetzt soll ich was bei strato aufbauen. Das ist die 5.0.88 -Version.

Habe jetzt festgestellt, daß ein "-" im Dateinamen zu einer Fehlermeldung führt.
Die Datenbank kann man sehr wohl mit diesem Zeichen anlegen,
nur anschreiben / auslesen geht nicht.

Werde mich langsam durcharbeiten. Wäre nicht das erste Mal.

Hat jemand Tips, z.B. Groß/Kleinschreibung, Leerzeichen (eigentlich lieber
eines mehr als eines zu wenig - gilt das noch ?)
Hochkomma (einfach/doppelt)
Also eigentlich alles, was so einen Server so stören kann.

. . . when the kid next door walking on the moon . . .Wirklich gute Jdeen passen auf einen Bierdeckel
bei Antwort benachrichtigen
Borlander jdeen „Hallo Borlander, Die Fehlermeldung lasse ich ja durch ...or die mysql_error...“
Optionen

Warum schreibst Du eigentlich immer SQL wenn Du MySQL meinst?

Habe jetzt festgestellt, daß ein "-" im Dateinamen zu einer Fehlermeldung führt.
Die Datenbank kann man sehr wohl mit diesem Zeichen anlegen,
nur anschreiben / auslesen geht nicht.

D.h.: Du hast eine Tabelle mit "-" im Namen? Das war aus Deinem Beispiel oben nicht ersichtlich. Würde ich auch eher vermeiden.

Ansonsten setzte den Tabellenamen mal in "`", also



Gruß
Borlander
bei Antwort benachrichtigen
jdeen Nachtrag zu: „Sql insert into“
Optionen

Hallo Borlander,

das mit dem "-" ist eine andere Geschichte. Ist wohl absolut tötlich.
Die Testdatenbank hat kein "-".
Hier war der Fehler tatsächlich ein fehlendes Leerzeichen zw. "value" und "('$feld1', ... "
Irgendwann sieht man den Wald vor lauter Bäumen nicht mehr.

Die Hochkommas habe ich in " ' " geändert.

So funktioniert's jetzt : insert into felder_db values ('$feld1', '$feld2', '$feld3', '$feld4', '$feld5')";

jdeen

. . . when the kid next door walking on the moon . . .Wirklich gute Jdeen passen auf einen Bierdeckel
bei Antwort benachrichtigen