Php MySQLi新手,更新查询出错?

Php MySQLi新手,更新查询出错?,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,我在尝试解决此查询时遇到了一点问题,如果在表单输入后单击submit按钮,这是页面上“必需”的脚本。页面已经设置了$connection变量,并且这些值正在正确地回显,尽管在第二个嵌套的“IF”语句中,我仍然收到回显给我的“error”消息。有人能帮忙吗?谢谢 <?php if ($_POST['firstname'] != "" && $_POST['lastname'] != "" && $_POST['email'] != "" &&

我在尝试解决此查询时遇到了一点问题,如果在表单输入后单击submit按钮,这是页面上“必需”的脚本。页面已经设置了$connection变量,并且这些值正在正确地回显,尽管在第二个嵌套的“IF”语句中,我仍然收到回显给我的“error”消息。有人能帮忙吗?谢谢

<?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())