将php表单插入mysql数据库时如何修复错误

时间:2014-03-16 15:20:11

标签: php mysql forms

我正在尝试将表单中的数据保存到mysql数据库中。我可以连接到数据库但由于某种原因我无法将数据插入数据库。我有一种感觉,它可能只是一个我没有看到的语法错误。

非常感谢任何帮助。

PHP

// Get values from form 
 $Nombre=$_POST['Nombre'];
 $Email=$_POST['Email'];
 $Telefono=$_POST['Telefono'];

// Insert data into mysql 
$sql="INSERT INTO $leads(Nombre, Email, Telefono)VALUES('$Nombre','$Email','$Telefono')";
$result=mysql_query($sql);

// if successfully insert data into database, displays message "Successful". 
if($result){
echo "Successful";
echo "<BR>";
}

else {
echo "ERROR";
}

HTML

  <form action="leads.php" method="POST">
       <input placeholder="Nombre" type="text" name="Nombre" maxlength="40"/>
       <input placeholder="Email" type="text" name="Email" maxlength="100"/>
       <input placeholder="Teléfono" type="text" name="Telefono" maxlength="9" pattern=".{8,}"    required title="8 numeros mínimo"/>
       <button class="btn-cita" name="cita">Hacer Cita</button>
  </form>

1 个答案:

答案 0 :(得分:1)

是的,你这样做。您容易受SQL injection attacks攻击,并且在查询中使用未定义的变量:

$sql="INSERT INTO $leads(Nombre, Email, Telefono)VALUES('$Nombre','$Email','$Telefono')";
                  ^^^^^^---undefined

生成类似

的查询
INSERT INTO (Nombre, etc...