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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...