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

Zapytanie MySQL nie jest wstawiane, gdy zmienna PHP zawiera pojedyncze cudzysłowy

Rozważ użycie zapytań sparametryzowanych przy użyciu PDO na przykład.

Alternatywnie umieść zmienne w nawiasach { }.

Edytuj:

Brakowało mi, że twoja zmienna $subject zawiera pojedyncze cytaty. Oznacza to, że musisz im uciec. (Zobacz mnóstwo innych odpowiedzi i mysql_real_escape_string() o tym.) Ale jak widać, pojedyncze cudzysłowy wewnątrz zmiennej dokładnie opisują działanie ataków wstrzykiwania. Ucieczka przed nimi pomaga zapobiegać takim problemom, a także umożliwia przechowywanie oczekiwanych danych przez zapytanie.

Żadna odpowiedź na temat ataków wstrzykiwania nie jest kompletna bez odniesienia do Tabele Bobby .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosty sposób na odczytanie pojedynczego rekordu z MySQL

  2. Pobieranie liczby wierszy wstawiania/aktualizacji z ON DUPLICATE KEY UPDATE

  3. Kolejny serwer mysqld działający na porcie 3306 błąd

  4. Może być tylko jedna kolumna auto

  5. Jak usunąć wszystkie zduplikowane rekordy w tabeli MySQL bez tabel tymczasowych?