我的代码如下:
$stmt = $this->db->prepare("INSERT INTO favorites (id, profile_id, item_id) VALUES(?, ?, ?)");
if ($stmt)
{
$stmt->bind_param("sss", $maxID, $provider, $ID);
if(!$stmt->execute())
{
echo ("Error" . $this->db->error);
return $this->db->error;
}
else
{
echo("success");
}
$stmt->close();
}
else
{
echo ("Error" . $this->db->error);
return $this->db->error;
}
尽管我付出了最大努力,但这份准备好的声明并没有做任何事情。当我直接在MYSQL提示符中键入值时,它可以正常工作。但是,当我运行此脚本时,它什么都不做。
注意:$ maxID,$ provider,$ ID都是要插入的有效值。它不会在脚本或服务器错误日志上引发错误。我很困惑为什么它不添加一行。我的代码中有一个明显的错误吗?
谢谢!
编辑:添加新代码,同样的事情。执行也正在传递。
答案 0 :(得分:1)
INSERT
没有失败 - 你只是没有找错误。您正在检查prepare
来电的退货状态,而不是execute
来电的退货状态。试试这个:
$stmt->bind_param("sss", $maxID, $provider, $ID);
$stmt->execute() or die($stmt->error);
$stmt->close();
答案 1 :(得分:0)
PHP mysqli Insert not working, but not giving any errors
原来这是我的解决方案。 ^自动提交已关闭。