sql >> Database >  >> RDS >> Mysql

PHP/MySQL - SQL-syntaxisfout?

U moet de strings die u verzendt in uw SQL-query's escapen.

Daarvoor kun je de mysql_real_escape_string gebruiken functie.

Uw code zou er bijvoorbeeld zo uit kunnen zien (niet getest, maar zoiets zou de slag moeten slaan) :

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


Een andere oplossing (vereist echter meer werk, omdat u meer code moet wijzigen) zou zijn om voorbereide verklaringen te gebruiken; ofwel met mysqli_* of BOB -- maar niet mogelijk met de oude mysql_* extensie.


Bewerken: als dit niet werkt, kunt u uw vraag aanpassen om ons meer informatie te geven? Zoals het stukje code dat de fout veroorzaakt?



  1. Oracle JDeveloper 12c gebruiken met Oracle Database, deel 2

  2. Ik kan my.cnf niet vinden op mijn Windows-computer

  3. Recursielimiet overschreden in niet-recursieprocedure

  4. hoe krijg ik de maand vanaf de datum in mysql