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

Unikanie pojedynczego cudzysłowu w PHP podczas wstawiania do MySQL

Powinieneś uciec przed każdym z tych ciągów (w obu fragmentach) za pomocą mysql_real_escape_string() .

http://us3.php.net/mysql-real-escape-string

Powodem, dla którego Twoje dwa zapytania zachowują się inaczej, jest prawdopodobnie to, że masz magic_quotes_gpc włączony (co powinieneś wiedzieć, to zły pomysł). Oznacza to, że ciągi zebrane z $_GET, $_POST i $_COOKIES są dla ciebie eskejpowane (np. "O'Brien" -> "O\'Brien" ).

Po przechowaniu danych, a następnie ponownym ich odzyskaniu, ciąg, który otrzymasz z bazy danych, nie być automatycznie uciekł dla Ciebie. Odzyskasz "O'Brien" . Musisz więc przekazać go przez mysql_real_escape_string() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać dane z bieżącego tygodnia w MySQL?

  2. odpowiednik generate_series() w MySQL

  3. Jak uzyskać wczorajszą datę w MySQL?

  4. Jak połączyć się z bazą danych MySQL lub MariaDB

  5. MySQL kontra MariaDB:co musisz wiedzieć