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

Mysql Real Escape String Funkcja PHP dodająca \ do wpisu w moim polu

Jeśli otrzymujesz dane $content z formularza (a nie „tak jak jest” w kodzie PHP) , może masz problem z powodu cytatów Magic (zobacz magic_quotes_gpc )

Zasadniczo :

Jeśli magiczne cytaty są włączone (możesz to sprawdzić w danych wyjściowych phpinfo() na przykład) , dostaniesz tego rodzaju „podwójną ucieczkę” :

  • Te postacie zostaną raz uniknięte za pomocą magicznych cytatów,
  • A następnie zostaną zmienione po raz drugi przez mysql_real_escape_string


Dobrym rozwiązaniem w tym przypadku nie jest zaprzestanie używania mysql_real_escape_string , ale aby wyłączyć magic_quotes_gpc w Twojej konfiguracji...

... Ale ponieważ nie masz do niego dostępu, będziesz musiał „odwrócić” efekt magicznych cytatów, nazywając stripslashes na wejściu, które otrzymujesz jako $_GET i $_POST , zanim zaczniesz go używać.

Uwaga:jest to rada podana na stronie podręcznika mysql_real_escape_string (cytuję) :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zserializowana tablica wartości meta WooCommerce w tabeli wp_postmeta

  2. mysql_connect (localhost/127.0.0.1) działa wolno na platformie Windows

  3. MySQL:Wiele tabel czy wiele baz danych?

  4. Jak dodać więcej niż jeden wiersz za pomocą Zend_Db?

  5. Tabela MySQL jest oznaczona jako uszkodzona i ostatnia (automatyczna?) naprawa nie powiodła się