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

Inserimento del valore $variable o $_POST nella tabella mysql

In SQL, i valori di stringa devono essere citati:

VALUES ('value1', 'value2')"

Quando usi le variabili:

VALUES ($var1, $var2)");

Non sono citati... a meno che le virgolette non siano nei valori stessi.

Quindi se $var1 = 'value1'; $var2 = 'value2' quindi (dopo che le variabili sono state interpolate nella tua stringa) il tuo SQL appare così:

VALUES (value1, value2)"

Potresti risolvere il tuo problema immediato aggiungendo virgolette:

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

ma questo non risolve la tua grande vulnerabilità di sicurezza e consente ai tuoi dati di interrompere la query in diversi modi.

Dovresti evitare di creare istruzioni SQL assemblando stringhe da variabili . In questo modo si creano falle di sicurezza di SQL Injection. Utilizza un'interfaccia che supporti argomenti vincolati . Si occuperanno di quotare e fuggire per te.