致命错误:未经发现的错误:呼叫未定义的方法mysqli :: error()



我正在尝试与XAMPP和SQL Server进行简单的连接。但是,每当我尝试输入数据或连接到数据库时,我会得到此错误。错误是什么?我非常需要我的项目。我不知道为什么PHP第9行是错误的。

致命错误:未定义的错误:c: xampp htdocs last1 new new register.php:19

    <?php
    /* Registration process, inserts user info into the database 
       and sends account confirmation email message
     */
    // Set session variables to be used on profile.php page
    $_SESSION['email'] = $_POST['email'];
    $_SESSION['first_name'] = $_POST['firstname'];
    $_SESSION['last_name'] = $_POST['lastname'];
    // Escape all $_POST variables to protect against SQL injections
    $first_name = $mysqli->escape_string($_POST['firstname']);
    $last_name = $mysqli->escape_string($_POST['lastname']);
    $email = $mysqli->escape_string($_POST['email']);
    $password = $mysqli->escape_string(password_hash($_POST['password'], PASSWORD_BCRYPT));
    $hash = $mysqli->escape_string( md5( rand(0,1000) ) );
    // Check if user with that email already exists
    **$result = $mysqli->query("SELECT * FROM users WHERE email='$email'") or die($mysqli->error());**
    // We know user email exists if the rows returned are more than 0
    if ( $result->num_rows > 0 ) {
        $_SESSION['message'] = 'User with this email already exists!';
        header("location: error.php");
    }
    else { // Email doesn't already exist in a database, proceed...
        // active is 0 by DEFAULT (no need to include it here)
        $sql = "INSERT INTO users (first_name, last_name, email, password, hash) " 
                . "VALUES ('$first_name','$last_name','$email','$password', '$hash')";
        // Add user to the database
        if ( $mysqli->query($sql) ){
            $_SESSION['active'] = 0; //0 until user activates their account with verify.php
            $_SESSION['logged_in'] = true; // So we know the user has logged in
            $_SESSION['message'] =
                     "Confirmation link has been sent to $email, please verify
                     your account by clicking on the link in the message!";
            // Send registration confirmation link (verify.php)
            $to      = $email;
            $subject = 'Account Verification ( clevertechie.com )';
            $message_body = '
            Hello '.$first_name.',
            Thank you for signing up!
            Please click this link to activate your account:
            http://localhost/login-system/verify.php?email='.$email.'&hash='.$hash;  
            mail( $to, $subject, $message_body );
            header("location: profile.php"); 
        }
        else {
            $_SESSION['message'] = 'Registration failed!';
            header("location: error.php");
        }
    }

请帮助我:(谢谢你们;*

$mysqli->error()应该是 $mysqli->error,因为 error是属性,而不是方法。

应该是

$mysqli->error

而不是$mysqli->error()

我认为您应该使用$mysqli->error代替$mysqli->error()

来源: http://php.net/manual/en/mysqli.error.php

最新更新