sql >> Databasteknik >  >> RDS >> Mysql

PHP/MySQL - SQL-syntaxfel?

Du måste undkomma strängarna du skickar i dina SQL-frågor.

För det kan du använda mysql_real_escape_string funktion.

Till exempel kan din kod se ut så här (inte testad, men något sådant här borde göra susen) :

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


En annan lösning (Kräver dock mer arbete eftersom du måste ändra mer kod) skulle vara att använda förberedda uttalanden; antingen med mysqli_* eller PDO -- men inte möjligt med den gamla mysql_* förlängning.


Redigera: Om detta inte fungerar, kan du redigera din fråga för att ge oss mer information? Som kodbiten som orsakar felet?



  1. mySQL returnerar alla rader när field=0

  2. Vad är MAX-numret om jag lagrar int(255) i MySQL?

  3. Utlösa en trigger efter uppdatering av specifika kolumner i MySQL

  4. Vilken tidsseriedatabas är bättre:TimescaleDB vs InfluxDB