如何在不使用mysqli中使用get_result()的情况下计算返回的行数?

时间:2019-04-10 18:17:59

标签: php mysqli mysqlnd

我正在使用GoDaddy共享托管计划,看起来在托管它们的所有版本的PHP 7,7.1、7.2和7.3中使用mysqlimysqlnd时遇到一些问题。

经过多次尝试更改和更新PHP版本和模块后,由于出现此错误,我最终放弃使用get_result()函数

  

未捕获的错误:调用未定义的方法mysqli_stmt :: get_result()

我可以使用什么其他功能代替get_result()来确保$result中有行?

if ($stmt = $conn->prepare($query)) {
            $stmt->execute();
            $result = $stmt->get_result();
            if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                 $items[] = $row;
             }
            $stmt->free_result();
            $stmt->close();
            }
            $conn->close();
        }

1 个答案:

答案 0 :(得分:-1)

尝试使用$stmt->num_rows并摆脱get_result

 if ($stmt = $conn->prepare($query)) {
 $stmt->execute();
 if ($stmt->num_rows > 0) { 
while ($row = $stmt->fetch_assoc())         { 
 $items[] = $row;
 }
 $stmt->free_result(); $stmt->close(); 
 } 
$conn->close();
 }