INSERT INTO in eine ODBC DB
Björn Lindner
- php
0 klaus0 Björn Lindner0 klaus
Hallöle,
Leider funzt
$schreib="INSERT INTO Vereine(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ("$Meldenummer", "$Verein", "$Strasse", "$PLZ", "$Ort", "$Aussenplaetze", "$Hallenplaetze")";
odbc_exec($verbindung,$schreib);
nicht.
Ich erhalte folgende Fehlermeldung:
5 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben., SQL state 07001 in SQLExecDirect in ...
Meldenummer, Aussenplaetze und Hallenplaetze sind Zahlen, der Rest Text.
Es sind auch alle Felder der Tabelle.
Woran könnte es noch liegen?
MFG Björn
Hallöle,
Leider funzt
$schreib="INSERT INTO Vereine(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ("$Meldenummer", "$Verein", "$Strasse", "$PLZ", "$Ort", "$Aussenplaetze", "$Hallenplaetze")";
odbc_exec($verbindung,$schreib);nicht.
Ich erhalte folgende Fehlermeldung:5 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben., SQL state 07001 in SQLExecDirect in ...
Meldenummer, Aussenplaetze und Hallenplaetze sind Zahlen, der Rest Text.
Es sind auch alle Felder der Tabelle.
Woran könnte es noch liegen?MFG Björn
hallo,
versuchs einfach mit
$schreib="INSERT INTO Vereine values (VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ("$Meldenummer", "$Verein", "$Strasse", "$PLZ", "$Ort", "$Aussenplaetze", "$Hallenplaetze")";
dann ist noch wesentlich, ob die datenbank einfache oder doppelte Anführungszeichen als Quotingzeichen verwendet, und ob in den Texten ein Quotingzeichen enthalten ist.
aber da siehst Du wohl selber nach
Grüße
Klaus
Hi,
also ich habe das so gemacht, wie Du es geschrieben hast, ich habe es so gemacht wie unten, und ich habe nach der Klammer nach Hallenplaetze ein ; gesetzt.
$schreib="INSERT INTO Vereine values(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze)";
odbc_exec($verbindung,$schreib);
Ich bekomme jetzt immer die Meldung
Fehlendes Semikolon (;) am Ende der SQL-Anweisung
Der Zugriff auf die DB funzt über
$Save1sql ="SELECT Ansprechpartner.AnsprechID FROM Ansprechpartner ORDER BY Ansprechpartner.AnsprechID;";
$Save1 = odbc_exec($verbindung,$Save1sql);
ohne Probleme.
Was sind Quotingzeichen? *ganzdummfrag*
MFG Björn
hallo,
$schreib="INSERT INTO Vereine values(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein', '$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze)";
odbc_exec($verbindung,$schreib);Ich bekomme jetzt immer die Meldung
Fehlendes Semikolon (;) am Ende der SQL-Anweisung
dann mach eins dazu also
$schreib="INSERT INTO Vereine values(VereinsID, Vereinsbezeichnung, Strasse, PLZ, Ort, Aussenplaetze, Hallenplaetze) VALUES ($Meldenummer, '$Verein',
'$Strasse', '$PLZ', '$Ort', $Aussenplaetze, $Hallenplaetze);";
^
achte darauf ---------------------------------------------------------------/
so machst Du des ja auch bei der select-Anweisung.
Was sind Quotingzeichen? *ganzdummfrag*
*akademischnichtkorrektantwort*:
Quotingzeichen sind Anführungszeichen. (eigentlich ist Qoutingzeichen ein absolut miserables Wort, wenn ich so nachdenke)
also zum beispiel:
$schreib = "Anweisung" --> das " ist jetzt das Qouting-Zeichen
oder
$schreib = 'Anweisung' --> das ' ist jetzt das Qouting-Zeichen
Das Problem ist immer, wenn im Text auch so ein Zeichen vorkommt.
wenn Du z.B den Text "There's More Than One Way" mit doppelten Anführungszeichen versiehst, ist es kein Problem.
wie sieht's aus mit 'wie sieht's aus'?
hier würde das Programm nur 'wie sieht' als Text verstehen, den Rest irgendwie interpretieren und Dich im günstigsten Falle mit Fehlermeldungen anspucken.
dann gehts ans Maskieren, d.h. Du muß das so schreiben, daß diese Zeichen irgendwie vom Programm ignoriert werden.
einige Programmiersprachen machens mit dem Backslash, andere haben so abenteuerliche Konstrukte wie " das ist ein """TEST""" mit Anführungszeichen".
und Datenbanken spinnen sowieso.
naja, was solls, ich hör auf, hab ein bißchen den Faden verloren.
Grüße
Klaus