mysqli_fetch_assoc($result)返回值为空
时间: 2024-02-26 21:53:44 浏览: 113
mysqli_fetch_assoc() 函数返回结果集中的当前行作为关联数组。如果结果集为空或者已经遍历到了最后一行,则返回 NULL。
因此,如果 mysqli_fetch_assoc() 函数返回空值,可能是因为该结果集为空或者已经遍历到了最后一行。你可以使用 mysqli_num_rows() 函数来检查结果集中是否有数据,并使用 mysqli_data_seek() 函数将指针重新定位到结果集的起始位置,以便再次遍历结果集。
相关问题
$db=mysqli_connect("localhost","root","123456","test"); $result=mysqli_query($db,"select * from protype",MYSQLI_USE_RESULT); $rs=mysqli_fetch_all($result,MYSQLI_ASSOC); mysqli_free_result($result); mysqli_close($db); $s=json_encode($rs); echo "var arrType=". $s; 将mysqli更改为mysql低版本代码
将mysqli改为mysql低版本的代码需要先将数据库连接方式由面向对象的方式改为面向过程的方式,然后再修改相关的函数名称。以下是将上述代码修改为mysql低版本的例子:
```
$db=mysql_connect("localhost","root","123456"); mysql_select_db("test",$db); $result=mysql_query("select * from protype",$db); $rs=array(); while($row=mysql_fetch_assoc($result)){ $rs[]=$row; } mysql_free_result($result); mysql_close($db); $s=json_encode($rs); echo "var arrType=". $s;
```
需要注意的是,mysql_connect和mysql_select_db函数的参数顺序与mysqli_connect不同,需要先传递主机地址,然后是用户名和密码。此外,mysql_fetch_assoc函数的返回值与mysqli_fetch_all不同,需要在循环中逐一读取每一行并将其添加到数组中。
mysqli_fetch_assoc
mysqli_fetch_assoc() 函数从结果集中取得一行作为关联数组。此函数使用关联数组的列名作为数组的键。
语法:
mysqli_fetch_assoc(result);
参数:
- result:必需。规定要使用的结果集。
返回值:
如果成功,则返回关联数组;如果失败,则返回 null。
示例:
```
<?php
$conn = mysqli_connect("localhost", "root", "", "test");
$result = mysqli_query($conn, "SELECT id, firstname, lastname FROM MyGuests");
while ($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
?>
```
上面的代码将从 "MyGuests" 表中选取所有数据,并使用 mysqli_fetch_assoc() 函数将数据作为关联数组显示出来。
阅读全文