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

mysql_real_escape_string VS addslashes

Det du citerer er sandsynligvis fra lægen, men så vidt jeg ved er det ikke nødvendigvis sandt.

addslashes føjer skråstreger til tegn, der ofte er forstyrrende. mysql_real_escape_string undslipper alt, hvad MySQL skal undslippes. Dette kan være flere eller færre tegn end addslashes tager sig af.

Også mysql_real_escape_string vil ikke nødvendigvis tilføje skråstreger for at undslippe. Selvom jeg tror, ​​det virker, hvis du gør det på den måde, undslipper nyere versioner af MySQL citater ved at sætte to af dem sammen i stedet for ved at sætte en skråstreg før det.

Jeg mener, at du altid skal bruge din dataudbyders escape-funktion i stedet for addslashes , fordi addslashes kan enten gøre for meget eller ikke nok arbejde til det formål, du bruger det. På den anden side, mysql_real_escape_string ved hvad man skal gøre for at forberede en streng til at integrere den i en forespørgsel. Selvom specifikationerne ændrer sig om, hvordan man undslipper ting, og det pludselig ikke er omvendte skråstreg, du skal bruge længere, vil din kode stadig fungere, fordi mysql_real_escape_string vil være opmærksom på det.



  1. MySql Single Table, Vælg de sidste 7 dage og medtag tomme rækker

  2. Sådan kontrolleres, om en T-SQL UDF er skemabundet (selv når den er krypteret)

  3. Hvordan tilføjer du en NOT NULL-kolonne til en stor tabel i SQL Server?

  4. Hvad er formålet med datareplikering?