如何在Mysqli中使用预处理语句来使用fetch_array?

时间:2016-04-24 04:50:24

标签: php mysqli

好的,我知道这个帖子上有很多帖子,但我仍然发布这个问题,因为它们都没有工作。

我正在尝试使用mysqli获取结果数据,其中行计数正常,但行数据不是。

这是我的代码:

$query = $db->prepare("SELECT * from users where email = ?");
        $query->bind_param("s",$loginEmail);
        $query->execute();
        $query->store_result();
        $row_count = $query->num_rows;
        echo $row_count;
        if($row_count==1){              
            $row = $query->get_result;
            $email = $row['email'];
            echo $email;
        }

因此,回显 $ rowcount 会得到正确的结果,但我无法使用fetch_array()获取此行的后续数据。它什么都没显示。我知道我在某个地方出错了。任何建议都会有很大的帮助。

1 个答案:

答案 0 :(得分:1)

你不能同时使用get_result()和store_result()。除此之外,它只是多余的。

$query = $db->prepare("SELECT * from users where email = ?");
$query->bind_param("s",$loginEmail);
$query->execute();
$res = $query->get_result();
$row = $res->fetch_assoc();
if ($row) {
    $email = $row['email'];
    echo $email;
}