微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – mysqli_fetch_array只返回一个结果

我正在尝试使用以下代码(在$host中具有适当的值等)对一个小的mysql数据库进行非常非常简单的查询

$connection = MysqLi_connect($host, $user_name, $password, $database);
if (MysqLi_connect_errno($connection)) {
    echo "Failed to connect to MysqL: " . MysqLi_connect_error();
}

$result = MysqLi_query($connection, "select university from universities_alpha");
$row = MysqLi_fetch_array($result);

echo print_r($result);
echo '<br><br>';
echo print_r($row);

MysqLi_close($connection);

如您所见,我以人类可读的方式打印出结果,产生:

MysqLi_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => Array ( [0] => 19 ) [num_rows] => 9 [type] => 0 ) 1

Array ( [0] => Arizona State Univ. [university] => Arizona State Univ. ) 1

该专栏中有一些示例大学,所以我不确定我做错了什么.

解决方法:

MysqLi_fetch_array每次调用时都按指针工作

想象一下以下内容

$result = MysqLi_query($connection, "select university from universities_alpha");
$row = MysqLi_fetch_array($result); // this is the first row
$row = MysqLi_fetch_array($result); // Now it's the second row
$row = MysqLi_fetch_array($result); // third row

要按照您希望的方式实际显示数据,我建议您执行以下操作

$rows = array();
$result = MysqLi_query($connection, "select university from universities_alpha");
while($row = MysqLi_fetch_array($result)) {
    $rows[] = $row;
}

print_r($rows);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐