更新成功但无法更新到DB

时间:2014-11-17 10:13:52

标签: php mysqli

我找不到任何错误。我尝试了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);
}

最后,我在网页上更新后没有任何错误,只显示记录更新成功。但它没有更新到DB。有什么想法吗?

更新的编码

$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");

            }
}

我更新后,在使用预准备语句后仍然无法正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

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