Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit SQL-Syntax
Vorsicht, nOOb!
Ich generiere mit Php einen MySql-Codestring:
$str = "INSERT INTO 'sites'('name', 'inhalt')VALUES('" . $_POST['name'] . "', '" . $_POST['inhalt'] . "')";
MySql sagt, das da ein Sql-Syntaxfehler drin ist. Ich finde ihn nicht. Mein Frage: Wo ist er?
Auf den Fehler bin ich auch schon oft gestoßen, konnte mir ihn aber nie erklären. Jedoch hab ich ne Lösung. Du musst die Post Variablen einfach in anderen Variablen auslagern, und gut ist's. Klingt komisch, ist aber so :rolleyes:
dead_orc
08.01.2005, 13:31
Öhm, ich denke, es liegt an etwas anderem:
1. Solltest du auch einfach mal Leerzeichen gebrauchen und nicht alles dicht an dich schreiben
2. Hats bei mir funktioniert, als ich die ' um die Feld- und Tabellennamen durch ` ersetzt habe
Ich würde jedenfalls diesen Syntax benutzen:
$str = "INSERT INTO `sites` (`name`, `inhalt`) VALUES ('".$_POST['name']."', '".$_POST['inhalt']."');";
Es kann sein das es daran liegt, dass du bei den Tabellen- und Feldnamen ' statt ` verwendet hast. ' wird nur bei der Zuweisng von Variablen genutzt ;)
Manni
2. Hats bei mir funktioniert, als ich die ' um die Feld- und Tabellennamen durch ` ersetzt habe
wobei man die auch ganz weglassen kann, auch wenns vielleicht nicht ganz das regelgetreuste wäre, keine ahnung. hatte bisher jedenfalls nie probleme damit. ich machs jedenfalls immer so (mal am beispiel von masterquest):
mysql_query ('INSERT INTO sites (name, inhalt) VALUES ("' . $_POST['name'] . '", "' . $_POST['inhalt'] . '")');
.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.