Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql_real_escape_string VS dodaje ukośniki

To, co cytujesz, prawdopodobnie pochodzi z dokumentu, ale o ile wiem, niekoniecznie jest to prawdą.

addslashes dodaje ukośniki do postaci, które są często niepokojące. mysql_real_escape_string ucieka cokolwiek MySQL potrzebuje. Może to być mniej lub więcej znaków niż addslashes się tym zajmuje.

Również mysql_real_escape_string niekoniecznie doda ukośniki do ucieczki. Chociaż myślę, że to działa, jeśli zrobisz to w ten sposób, ostatnie wersje cudzysłowów MySQL poprzez połączenie dwóch z nich zamiast umieszczania przed nimi ukośnika.

Uważam, że zawsze powinieneś używać funkcji escape swojego dostawcy danych zamiast addslashes , ponieważ addslashes może wykonać zbyt dużo lub za mało pracy w celu, w jakim go używasz. Z drugiej strony mysql_real_escape_string wie co zrobić, aby przygotować ciąg do osadzenia go w zapytaniu. Nawet jeśli specyfikacje zmienią się o tym, jak uciec od rzeczy i nagle nie będzie już więcej ukośników odwrotnych, których powinieneś używać, twój kod nadal będzie działał, ponieważ mysql_real_escape_string będzie tego świadomy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd krytyczny:wywołanie funkcji elementu członkowskiego query() na null

  2. Typ MySQL ENUM a dołączanie tabel

  3. Jak znaleźć największą tabelę w bazie danych MySQL?

  4. Jak zmienić hasło roota MySQL lub MariaDB w systemie Linux?

  5. Znajdź wartości, które nie zawierają liczb w MySQL