Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserindo o valor $variable ou $_POST na tabela mysql


No SQL, os valores de string precisam ser citados:
VALUES ('value1', 'value2')"

Quando você usa variáveis:
VALUES ($var1, $var2)");

Eles não são citados... a menos que as aspas estejam nos próprios valores.

Então if $var1 = 'value1'; $var2 = 'value2' então (depois que as variáveis ​​são interpoladas em sua string) seu SQL fica assim:
VALUES (value1, value2)"

Você pode resolver seu problema imediato adicionando aspas:
VALUES ('$var1', '$var2')");

mas isso não corrige sua grande vulnerabilidade de segurança e permite que seus dados interrompam a consulta de maneiras diferentes.

Você deve evitar criar instruções SQL montando strings de variáveis . Desta forma, leva a falhas de segurança de injeção de SQL. Use uma interface que suporte argumentos vinculados . Eles irão lidar com citações e fugas para você.