当前位置: 首页 > 面试题库 >

用mysqli结果获取行数组

凌俊名
2023-03-14
问题内容

我需要从结果对象获取所有行。我正在尝试建立一个将容纳所有行的新数组。

这是我的代码:

$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;


 类似资料:
  • 问题内容: 我试图了解mysqli扩展名,并做了谷歌,但除了php.net这是非常有用的很少信息。 现在毕竟这是我想要实现的MySQL扩展,如下所示: 用mysqli我怎么能做到这一点?我肯定我错过了很多事情。请以示例的方式帮助我,以实现我的目标。 问题答案: 使用mysqli,您可以通过以下方式进行操作(假设mysqli对象已创建- 您也可以使用过程方法,只是略有不同):

  • 问题内容: 我正在尝试第一次使用mySQLi。我已经完成了以防循环。循环结果正在显示,但是当我尝试显示单个记录时我陷入了困境。这是有效的循环代码。 上面的代码在循环的情况下很好。现在,如何显示第一行中的任何记录,任何记录,名称或电子邮件,或者仅显示单个记录,我该怎么做?在单个记录的情况下,请考虑删除所有上述循环部分,并显示没有循环的任何单个记录。 问题答案: 当仅需要单个结果时,则不应使用循环。只

  • 问题内容: 我最近从mysql切换到mysqli并开始使用准备好的语句。在mysql中我们做 因此,我们将整个表的数组放在一个变量中。 但是在mysqli中 所以基本上这里只有一个变量绑定到变量结果。我们如何获得与从mysql获得的变量(数组)相同的变量? PS-希望我的问题足够清楚。我知道他们的方法不多,但我希望能找到最好的方法。 PSS-我对程序方式比较满意。 问题答案: 最终,这段代码可以正

  • 问题内容: 我如何得到一个数组的结果? 我有一个像这样的数组: 并将其保存在数据库中,例如JSON编码: 现在我想再次从数据库中获取数组。但是当我使用时: 我得到: 而不是数组。如何获取数组而不是对象? 问题答案: 将第二个参数设置为true以强制关联数组:

  • 问题内容: 警告:mysqli :: query():无法在第43行上的C:\ Program Files(x86)\ EasyPHP- DevServer-13.1VC9 \ data \ localweb \ my Portable files \ class_EventCalendar.php中获取mysqli 以下是我的连接文件: 这是我的课: 我对OOP PHP不太满意,而且不确定为什么

  • 问题内容: 我有以下代码: 如果只有一个结果(因为我可以回显)就很好了,但是如果有很多结果,如何使它循环遍历并打印每一行? 我敢肯定这确实很简单,但是我不确定我需要在Google中搜索什么。 我正在寻找与之等效的东西: 问题答案: 只需将其替换为or :) 几乎所有功能都有相应的功能。