致命错误:使用Update Query调用非对象上的成员函数bind_param()

时间:2017-11-13 09:48:31

标签: php mysql sql

我刚刚使用premade语句来帮助SQL保护。 我的脚本检查User表中是否存在User,如果它已经存在,则运行:

$stmt = $Con->prepare("UPDATE `HA00`.`Users` SET `Unix` = ?,`4690` = ?,`LastIP` = ?,`LastLogin` = CURRENT_TIME( ) WHERE `Users`.`User` = ?;");

$stmt->bind_param('ssss',$PUnix,$P46,$IP,$PAD);
$PAD = $AD;
$PUnix = $Unix;
$IP = $_SERVER['REMOTE_ADDR'];
$P46 = $CTR;
$stmt->execute();

如果用户不存在,那么他们的几乎相同的插入SQL查询可以正常工作。我很肯定我错过了一些简单的事情。我检查了其他页面,但我没有找到问题。

编辑:

“的var_dump($语句);”显示bool(false)

2 个答案:

答案 0 :(得分:0)

它无法看到参数$ PUnix,$ P46,$ IP,$ PAD。

尝试使用$ stmt-> bind_param(' ssss',$ PUnix,$ P46,$ IP,$ PAD);低于这些变量。

答案 1 :(得分:0)

请尝试使用$ stmt-> bindValue。它应该工作。