我刚刚使用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)
答案 0 :(得分:0)
它无法看到参数$ PUnix,$ P46,$ IP,$ PAD。
尝试使用$ stmt-> bind_param(' ssss',$ PUnix,$ P46,$ IP,$ PAD);低于这些变量。
答案 1 :(得分:0)
请尝试使用$ stmt-> bindValue。它应该工作。