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

MySQL_real_escape_string nie dodaje ukośników?

m_r_e_s() ZWRACA wartość ucieczki, nie modyfikuje oryginału.

$int = mysql_real_escape_string($_POST['int']);

$query = "UPDATE ... interests = '$int' ...";

Zauważ, że dodałem cudzysłowy wokół int w wartości POST. Bez cudzysłowów PHP widzi to jako stałą wartość (np. define()). Jeśli nie znajdzie stałej o tej nazwie, grzecznie zakłada, że ​​chodziło Ci o użycie ciągu i odpowiednio się dostosuj, ale wyświetla ostrzeżenie. Jeśli to zrobiłeś

define('int', 'some totally wonky value');

poprzednio miałbyś dostęp do niewłaściwej wartości POST, ponieważ PHP widziałoby ją jako $_POST[some totally wonky value] zamiast tego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do Zend Framework

  2. MySQL vs MongoDB 1000 odczytów

  3. Przenoszenie bazy danych mysql z jednego serwera na inny

  4. Jak mogę wyeksportować kilka kolumn z MySQL do pliku tekstowego?

  5. Jak pogrupować pole daty, aby uzyskać kwartalne wyniki w MySQL?