sql >> Database teknologi >  >> RDS >> Mysql

Skal jeg bruge mysql_real_escape_string, hvis jeg binder parametre?

Nej, du behøver ikke selv at undslippe værdi (dvs. nej, du behøver ikke at kalde mysqli_real_escape_string ) , når du bruger forberedte sætninger:DB-maskinen vil gøre det selv.

(Faktisk, hvis du kaldte mysql_real_escape_string og ved at bruge bundne parametre ville dine strenge blive escaped to gange -- hvilket ikke ville være fantastisk:du ville ende med at undslippe tegn overalt...)


Som en sidenote:dine værdier sendes som heltal (som angivet med 'ii' ) , så du ikke behøver at kalde mysql_real_escape_string , selvom du ikke brugte forberedte udsagn :som navnet indikerer, bruges denne funktion til at undslippe... strenge.

For heltal bruger jeg generelt bare intval for at sikre, at de data, jeg injicerer i mine SQL-forespørgsler, virkelig er heltal.

(Men da du bruger forberedte forespørgsler, behøver du endnu en gang ikke gøre den slags for at undslippe dig selv)



  1. Praktisk processorvalg til SQL Server 2014/2016 OLTP-arbejdsbelastninger

  2. Skift visningsformat for dato- og tidsfelt i MySQL PHP

  3. Sequel Pro og MySQL forbindelse mislykkedes

  4. PHP PDO med foreach and fetch