Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion de la valeur $variable ou $_POST dans la table mysql

En SQL, les valeurs de chaîne doivent être entre guillemets :

VALUES ('value1', 'value2')"

Lorsque vous utilisez des variables :

VALUES ($var1, $var2)");

Ils ne sont pas cités... sauf si les guillemets sont dans les valeurs elles-mêmes.

Donc si $var1 = 'value1'; $var2 = 'value2' puis (après l'interpolation des variables dans votre chaîne), votre SQL ressemble à ceci :

VALUES (value1, value2)"

Vous pouvez résoudre votre problème immédiat en ajoutant des guillemets :

VALUES ('$var1', '$var2')");

mais cela ne corrige pas votre vulnérabilité de sécurité majeure et permet à vos données de casser la requête de différentes manières.

Vous devez éviter de créer des instructions SQL en assemblant des chaînes à partir de variables . Cela conduit à des failles de sécurité SQL Injection. Utilisez une interface qui prend en charge les arguments liés . Ils s'occuperont des citations et des fuites pour vous.