Php 数据未插入数据库
我想将html表单中的数据添加到数据库中,下面是我的代码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><?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注入攻击或任何其他攻击。有关更多信息,请通读