使用 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中文网其他相关文章!