sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fråga infogas inte när PHP-variabeln innehåller enkla citattecken

Överväg att använda parametriserade frågor med PDO till exempel.

Alternativt, omge dina variabler inom parentes { }.

Redigera:

Jag saknade din variabel $subject innehåller enstaka citat. Det betyder att du måste fly dem. (Se otaliga andra svar och mysql_real_escape_string() om detta.) Men som du kan se är enstaka citattecken inuti variabeln exakt hur injektionsattacker fungerar. Att undkomma dem hjälper till att förhindra sådana problem och låter din fråga lagra förväntad data.

Inget svar om injektionsattacker är komplett utan att hänvisa till Bobby Tables .



  1. Hitta alla icke-numeriska värden i en kolumn i MariaDB

  2. Hur kör man en MYSQL-fråga på en fördefinierad fast tid?

  3. En översikt över volymnivåreplikering för PostgreSQL med DRBD

  4. Hantera primärnyckelkonflikter vid infogning av data i SQLite