sql >> Databasteknik >  >> RDS >> Mysql

Måste jag använda mysql_real_escape_string om jag binder parametrar?

Nej, du behöver inte undkomma värde själv (dvs nej, du behöver inte anropa mysqli_real_escape_string ) , när du använder förberedda satser:DB-motorn kommer att göra det själv.

(Faktiskt, om du anropade mysql_real_escape_string och med bundna parametrar skulle dina strängar escapes två gånger -- vilket inte skulle vara bra :du skulle sluta med escapende tecken överallt...)


Som en anteckning:dina värden skickas som heltal (som indikeras av 'ii' ) , så att du inte skulle behöva anropa mysql_real_escape_string , även om du inte använde förberedda satser :som namnet indikerar, används den här funktionen för att escape... strängar.

För heltal använder jag i allmänhet bara intval för att se till att data jag injicerar i mina SQL-frågor verkligen är heltal.

(Men eftersom du använder förberedda frågor, återigen, behöver du inte göra den typen av att fly själv)



  1. Slashes i MySQL-tabeller, men med PDO och parametriserade frågor. Vad händer?

  2. Är SQLFiddle trasig? Fel för Oracle, SQL Server, ...?

  3. 6 sätt att lägga till ett år till ett datum i MariaDB

  4. SQL-serverschema och standardschema