我正在尝试检查字符串是否与表中某个列中的某个字段匹配.为此,我需要从result对象获取所有行.我正在使用php 5.2.x所以不能使用fetch_row_all方法;相反,我正在尝试构建一个包含所有行的新数组.
这是我的代码:
$sql = new mysqli($config['host'],$config['user'],$config['pass'],$config['db_name']);
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT domain FROM services";
$result = $sql->query($query);
while($row = $result->fetch_row());
{
$rows[]=$row;
}
$result->close();
$sql->close();
return $rows;
$rows应该是包含所有行的新数组,但我得到一个空数组.
任何想法为什么会这样?
解决方法:
你有一个轻微的语法问题,即一个错误的分号.
while($row = $result->fetch_row());
注意结尾的分号?这意味着后续块未在循环中执行.摆脱它,它应该工作.
此外,您可能想要检查查询是否确实有效:
$sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit;
}
$query = "SELECT domain FROM services";
$result = $sql->query($query);
if (!$result) {
printf("Query failed: %s\n", $mysqli->error);
exit;
}
while($row = $result->fetch_row()) {
$rows[]=$row;
}
$result->close();
$sql->close();
return $rows;
标签:php,mysqli
来源: https://codeday.me/bug/20190923/1813541.html