为什么选择*仅返回第一个字段?

Rob*_*oya 3 php sql fetch

我正在对db进行下一个查询

$result = $con->query ( 'select * from table');
$datos = $result->fetch_assoc();
echo "Cantidad de datos: ".count($datos).",";
print_r($datos);
Run Code Online (Sandbox Code Playgroud)

应显示包含所有条目的数组,但仅显示第一个条目.为什么?

PS:我看过其他帖子,但我没有限制或加入.

Tim*_*imo 5

fetch_assoc将结果行作为关联数组提取

所以你可以通过while循环遍历所有行,如果可能的话,可以获取另一行.

$count = 0;
while( $row = $result->fetch_assoc() ){
    // You can access data like this -->> $row['data'];
    $count++;
}
echo $count;
Run Code Online (Sandbox Code Playgroud)

完成后,你应该释放与结果相关的记忆

$result->free();
Run Code Online (Sandbox Code Playgroud)

但是,如果您只想获得计数,可以使用mysql_num_rows返回结果集中的行数.

$count = mysql_num_rows($result);
echo $count;
Run Code Online (Sandbox Code Playgroud)