Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP/MySQL - SQL-Syntaxfehler?

Sie müssen die Zeichenfolgen, die Sie in Ihren SQL-Abfragen senden, maskieren.

Dafür können Sie den mysql_real_escape_string verwenden Funktion.

Ihr Code könnte beispielsweise so aussehen (nicht getestet, aber so etwas sollte funktionieren) :

$str = "abcd'efh";
$sql_query = "insert into my_table (my_field) values ('" 
  . mysql_real_escape_string($str)
  . "')";
$result = mysql_query($sql_query);


Eine andere Lösung (Erfordert jedoch mehr Arbeit, da Sie mehr Code ändern müssen) wäre, vorbereitete Anweisungen zu verwenden; entweder mit mysqli_* oder PDO -- aber nicht möglich mit dem alten mysql_* Erweiterung.


Bearbeiten : Wenn dies nicht funktioniert, können Sie Ihre Frage bearbeiten, um uns weitere Informationen zu geben? Wie das Stück Code, das den Fehler verursacht?