Php MySQLi新手,更新查询出错?
我在尝试解决此查询时遇到了一点问题,如果在表单输入后单击submit按钮,这是页面上“必需”的脚本。页面已经设置了$connection变量,并且这些值正在正确地回显,尽管在第二个嵌套的“IF”语句中,我仍然收到回显给我的“error”消息。有人能帮忙吗?谢谢Php MySQLi新手,更新查询出错?,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,我在尝试解决此查询时遇到了一点问题,如果在表单输入后单击submit按钮,这是页面上“必需”的脚本。页面已经设置了$connection变量,并且这些值正在正确地回显,尽管在第二个嵌套的“IF”语句中,我仍然收到回显给我的“error”消息。有人能帮忙吗?谢谢 <?php if ($_POST['firstname'] != "" && $_POST['lastname'] != "" && $_POST['email'] != "" &&
<?php
if ($_POST['firstname'] != "" && $_POST['lastname'] != "" && $_POST['email'] != "" && $_POST['position'] != "" && $_POST['building'] != "") {
$iserid = htmlspecialchars($_COOKIE['userid']);
$fname_input = htmlspecialchars($_POST['firstname']);
$lname_input = htmlspecialchars($_POST['lastname']);
$fullname_input = htmlspecialchars($_POST['firstname']) . " " . htmlspecialchars($_POST['lastname']);
$email_input = htmlspecialchars($_POST['email']);
$position_input = htmlspecialchars($_POST['position']);
$building_input = 1;
$update = $connection->prepare("UPDATE user SET first = ?, last = ?, full = ?, email = ?, position = ?, building = ? WHERE id = ?") or trigger_error($connection->error);
$update->bind_param("ssssssi",$fname_input, $lname_input, $fullname_input, $email_input, $position_input, $building_input, $userid);
if ($update->execute) {
echo "success";
$update->close();
} else {
echo "fail";
$update->close();
}
} else {
$error = "One or more of your fields was left blank. Please press back on you browser toolbar and try again or click here to close this message.";
}
?>
更改
if($update->execute)
与
失败的原因有很多。您应该在PHP日志文件中得到一些信息。您的所有表单字段是否具有正确的
name=
属性?(旁注-不应使用htmlspecialchars()
将值存储在数据库中。这是一种输出清理方法,如果数据已被修改,则在尝试搜索表时可能会导致将来的问题。我认为是$update->execute()
您忘记了()
@MateiMihai-请将此作为答案提交给我,这样我就可以给你荣誉,你帮我省去了很多挫折!总是小事情让你发疯,嗯?非常感谢。$update->execute应该是$update->execute()。
if($update->execute())