Php 数据未插入数据库

Php 数据未插入数据库,php,mysql,Php,Mysql,我想将html表单中的数据添加到数据库中,下面是我的代码 <html><?php $var1=$_POST[tag]; $var2=$_POST[name]; $var3=$_POST[surname]; echo $var1; echo $var2; echo $var3; $dbhandle=mysql_connect('localhost','root','mysql') or die ("Unable to connect to database"); mysq

我想将html表单中的数据添加到数据库中,下面是我的代码

<html><?php

$var1=$_POST[tag];
$var2=$_POST[name];
$var3=$_POST[surname];

echo $var1;
echo $var2;
echo $var3;

$dbhandle=mysql_connect('localhost','root','mysql')
or die ("Unable to connect to database");
 mysql_select_db("arduino");

mysql_query("INSERT INTO door('Tag','Name','Surname') VALUES('$var1','$var2','$var3')");
?>
</html>

从查询中的列名中删除单引号

mysql_query("INSERT INTO door(Tag,Name,Surname) VALUES('$var1','$var2','$var3')");

如果您打算转义列名,那么mysql的转义字符是反勾“`”。只有列名或表名是其中一个时才需要它们。

您的
列名周围有引号,所以请删除这些引号

//Tag,Name,Surname

mysql_query("INSERT INTO door(Tag,Name,Surname) VALUES('$var1','$var2','$var3')");

                          ---^----^---^------^---

注意:您的代码易受SQL注入的影响,也<>代码> MySQLx() API现在被称为“PHP5.5.0”,考虑使用或替代。

阅读上面的红色大方框



在这种情况下,您应该始终使用错误报告,因此,如果您不打算使用不同的API,那么使用该API将显示一条用户友好的错误消息。

首先,我不建议您使用mysql,但建议您使用PDO或MySQLi。而且你的代码很容易受到sql注入之类的攻击,你的数据库也很容易被黑客攻击。对于PDO准备好的语句,您可以像这样使用它

$pdoCon = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'abc');
$stmt = $pdoCon->prepare("INSERT INTO door(Tag,Name,Surname) VALUES(?,?,?)");
$stmt->bindParam(1, $var1, PDO::PARAM_INT);
$stmt->bindParam(2, $var2, PDO::PARAM_STR, 20);
$stmt->bindParam(3, $var3, PDO::PARAM_STR, 20);
$stmt->execute();
它是完全安全的,而且使用和打赌它会像魅力一样工作,没有sql注入攻击或任何其他攻击。有关更多信息,请通读