繁体   English   中英

调用未定义的函数 fetch_assoc()

[英]Call to undefined function fetch_assoc()

我试图使用fetch_assoc()从我准备好的语句中获取一个数组,但 PHP 抛出了一个错误:

调用未定义的函数 fetch_assoc()

如何从准备好的语句中检索数组?

public function createUser($name, $email, $pass) {
    require_once 'PassHash.php';
    
    $api_key = uniqid('', true);
    $passwordHash = PassHash::hash($pass); // hash password
    
    $stmt = $this->conn->prepare("INSERT INTO `users`(`name`, `email`, `password`, `api_key`, `friends`)
                                                VALUES(?, ?, ?, ?, 0)");
    $stmt->bind_param("ssss", $name, $email, $passwordHash, $api_key);
    
    $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();
        $stmtStore = $stmt->store_result();
        $user = fetch_assoc($stmtStore);
        $stmt->close();

        return $user;
    } else {
        return false;
    }
}

fetch_assoc()mysqli_result类的一个方法,但在您的代码中没有任何地方有此类的任何对象。

首先,您必须从语句中获取结果,然后您可以对该结果对象调用一个方法。 例如:

$stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();
$user = $result->fetch_assoc();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM