sql >> Database teknologi >  >> RDS >> Mysql

MySQL-forespørgsel er ikke indsat, når PHP-variabelen indeholder enkelte anførselstegn

Overvej at bruge parametriserede forespørgsler ved hjælp af PDO for eksempel.

Alternativt kan du indsætte dine variable i parentes { }.

Rediger:

Jeg savnede din variabel $subject indeholder enkelte citater. Det betyder, at du skal undslippe dem. (Se det utal af andre svar og mysql_real_escape_string() om dette.) Men som du kan se, er enkelte anførselstegn inde i variablen præcis, hvordan injektionsangreb fungerer. At undslippe dem hjælper med at forhindre sådanne problemer og giver din forespørgsel mulighed for at gemme de forventede data.

Intet svar om injektionsangreb er komplet uden at henvise til Bobby Tables .



  1. tabel angives to gange både som mål for INSERT og som separat datakilde

  2. MySQL:vælg det første element i en kommasepareret liste

  3. hvad gør mysql_real_escape_string() egentlig?

  4. SQLite Indsæt