繁体   English   中英

mysql 中的 store_result() 和 get_result() 返回 false

[英]store_result() and get_result() in mysql returns false

几天前我做了一个代码,包括get_result()来从我的数据库中接收结果。 今天我想添加它并修复一些错误。 所以我尝试使用num_rows来查看是否有任何返回。 但为此我不得不使用store_result() 当我这样做时, get_result()只返回一个布尔值 false。 当我注释掉store_result()一切正常。 我知道>=会搞砸。 但我把=放在那里进行调试(注释掉store_result()并查看发生了什么)。 所以这不是问题

$sql = $this->connect();
$a = $sql->prepare("SELECT `name`, `title`, `comment`, `date`  FROM `comment` WHERE `post`=?");
$a->bind_param("s", $id);
$a->execute();
$a->store_result();
if ($a->num_rows >= 0) {
    $res = $a->get_result();
    var_dump($res);

    while ($row = $res->fetch_assoc()) {
        $results[] = $row;
    }
    return $results;
} else {
    return false;
}

使用get_result()而不是store_result() ,然后使用结果对象的num_rows

$a->execute();
$res = $a->get_result();
if ($res->num_rows > 0) {
    while ($row = $res->fetch_assoc()) {
        $results[] = $row;
    }
    return $results;
} else {
    return false;
}

暂无
暂无

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

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