首页 >后端开发 >php教程 >使用 mysqli_fetch_row() 获取 MySQL 行时如何避免空数组?

使用 mysqli_fetch_row() 获取 MySQL 行时如何避免空数组?

Patricia Arquette
Patricia Arquette原创
2024-12-26 09:34:16919浏览

How to Avoid Empty Arrays When Fetching MySQL Rows Using `mysqli_fetch_row()`?

使用 mysqli 从 MySQL 结果对象检索行

要从 mysqli 结果对象获取所有行并构造一个新数组来保存它们,可以使用 fetch_row() 方法。但是,解决可能导致返回空数组而不是预期行的语法错误至关重要。

问题:

在提供的代码片段中, while 循环语句末尾有一个错误的分号:

while($row = $result->fetch_row());

此分号终止while 循环过早,导致循环内的代码无法执行。

解决方案:

要纠正此问题,只需删除分号即可正确执行循环:

while($row = $result->fetch_row()) {
    $rows[] = $row;
}

错误报告:

此外,建议请求 MySQLi 报告遇到的任何问题:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']);

$query = "SELECT domain FROM services";
$result = $sql->query($query);
$rows = [];
while($row = $result->fetch_row()) {
    $rows[] = $row;
}
return $rows;

通过遵循这些建议,您应该能够成功检索和存储所有行来自 $rows 数组中的结果对象。

以上是使用 mysqli_fetch_row() 获取 MySQL 行时如何避免空数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn