错误:mysqli_stmt::bind_result():绑定变量的数量没有';t匹配准备语句中的字段数


Error: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement

运行此方法时出现此错误。有人能解释一下代码里出了什么问题吗。下面是我的功能代码

public function storeUser($name, $email, $password) {
    $uuid = uniqid('', true);
    $hash = $this->hashSSHA($password);
    $encrypted_password = $hash["encrypted"]; // encrypted password
    $salt = $hash["salt"]; // salt
    $stmt = $this->conn->prepare("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES(?, ?, ?, ?, ?, NOW())");
    $stmt->bind_param("sssss", $uuid, $name, $email, $encrypted_password, $salt);
    $stmt->execute();
    $result=$stmt->bind_result($uuid, $name, $email, $encrypted_password, $salt);
   // $result = $stmt->execute();
    $stmt->close();
    // check for successful store
    if ($result) {
        $stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $user = $stmt->fetch();
        $stmt->close();
        return $user;
    } else {
        return false;
    }
}

erro说您绑定了N个变量,但没有字段,因为它是一个insert不返回值。bind_result()应在select语句中使用。

要修复,请删除此行:

$result=$stmt->bind_result($uuid, $name, $email, $encrypted_password, $salt);