更新成功,但无法更新到数据库


Update successfully but couldn't update into DB

我找不到任何错误。我尝试在phpmyadmin上进行查询,它运行良好,但是当我在php页面中这样做时,它无法更新到DB。下面的代码:

$registerID = ($_POST['registerID']);
$firstName = ucwords(htmlspecialchars($_POST['firstName']));
$lastName = ucwords(htmlspecialchars($_POST['lastName']));
$emailAddress = htmlspecialchars($_POST['emailAddress']);
$mainAddress = ucwords(htmlspecialchars($_POST['fullAddress']));
$updateCity = ucwords($_POST['userCity']);
$updateCountry = $_POST['userCountry'];
$postalCode = strtoupper(htmlspecialchars($_POST['userZip']));
$profilePic = $_POST['pic'];
$updateProf = " UPDATE register_user
                SET firstName='$firstName',
                    lastName='$lastName',
                    emailAddress='$emailAddress',
                    mainAddress='$mainAddress',
                    registerCity='$updateCity',
                    registerCountry='$updateCountry',
                    postalCode='$postalCode'
                WHERE registerID = '$registerID'";
if (mysqli_query($mysqli, $updateProf)) {
        echo "Record updated successfully";
        } else {
        echo "Error updating record: " . mysqli_error($mysqli);
}

最后,我在网页上更新后没有错误,它只是显示已成功更新记录。但它没有更新到数据库中。有什么想法吗?

更新的编码

$checkProfile = "SELECT * FROM register_user where emailAddress = '$emailAddress'";
$editProfile = mysqli_query($mysqli,$checkProfile);
if ($editProfile) {
    if (mysqli_num_rows($editProfile) > 0) {
            header("Location: event?error=That name of email has already been taken");
            } else {
            $updateQuery = "UPDATE register_user
                    SET firstName = '$firstName',
                        lastName = '$lastName',
                        emailAddress = '$emailAddress',
                        mainAddress = '$mainAddress',
                        registerCity = '$updateCity',
                        registerCountry = '$updateCountry',
                        postalCode = '$postalCode'
                        WHERE registerID = '$registerID'";
            $updateResult = mysqli_query($mysqli,$updateQuery);
            header("Location: profileUser");
            }
}

更新后,使用预准备语句后它仍然不起作用。有什么想法吗?

首先尝试执行查询,将其保存到变量中。然后,检查查询是否通过执行以下操作执行:

if(!$query) echo "Query error : " . $mysqli->error;

这将为您提供更详细的错误报告。