调用未定义的函数fetch_assoc()

时间:2016-12-11 11:07:04

标签: php mysqli

请帮助我,我无法在互联网上找到答案。我尝试了很多东西,但仍然无法得到答案。 在我的localhost中,它可以工作,但是当我把它放在我的网站上时,它不起作用。请帮帮我们

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;
    }
}

1 个答案:

答案 0 :(得分:0)

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();