【发布时间】:2016-12-09 16:48:30
【问题描述】:
我正在尝试插入数据库,它给了我这个:
插入错误 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本以获得正确的语法 在第 3 行使用靠近 ')' 在数据库中出现问题
public function set_Animal($Name,$Gender,$Allergie,$Age,$Weight,$Type_ID,$Owner_ID,$Colour){
$Animal_Query= "INSERT INTO animal (Name,Gender,Allergie,Age,Weight,Type_ID,Owner_ID,Colour)
VALUES ($Name,$Gender,$Allergie,$Age,$Weight,$Type_ID,$Owner_ID,$Colour)";
if(mysqli_query($this->conn,$Animal_Query)) {
return true ;
}
else {
echo "Error inserting ".mysqli_error($this->conn);
return false ;
}
}
【问题讨论】:
-
也许您需要用单引号将具有字符数据类型的列括起来?例如:
INSERT INTO animal (Name) VALUES ('$Name') -
首先尝试使用
prepared statement。现在您的查询容易受到sql injection的攻击。其次,正如@yogur 提到的,您必须将所有string参数括在单引号中 -
伙计们我试过了..它也不起作用
-
这真的很困扰我,因为我有 5 节课,而且效果很好
-
你真的应该尝试
prepared statement,因为即使你将string变量括在单引号中,但你有单引号你的变量的文本,那么它会导致错误。如果您使用的是prepared statement,请编辑您的帖子并在您的帖子中添加新代码,以便我们调查新代码...