一、使用mysqli_fetch_array函数获取查询结果
//连接数据库 $con = mysqli_connect("localhost", "root", "123456", "test") or die("连接失败"); //执行查询语句 $sql = "SELECT * FROM users"; $result = mysqli_query($con, $sql); //获取查询结果 while($row = mysqli_fetch_array($result)){ echo $row['name'] . ' ' . $row['age']; }
mysqli_fetch_array函数用于从查询结果中获取一行数据,并作为数组返回。在使用mysqli_fetch_array之前,需要先执行SQL查询语句并将查询结果存储在$result变量中。接下来,我们可以通过while循环来逐行读取查询结果并将其打印出来。mysqli_fetch_array函数的返回结果可以通过$row['列名']来获取指定列的值。
二、mysqli_fetch_array的参数及作用
//指定返回数组类型为关联数组 $row = mysqli_fetch_array($result, MYSQLI_ASSOC); //指定返回数组类型为数字索引数组 $row = mysqli_fetch_array($result, MYSQLI_NUM); //同时返回关联数组和数字索引数组 $row = mysqli_fetch_array($result, MYSQLI_BOTH);
mysqli_fetch_array函数提供了三个可选的参数,用于指定返回数组的类型。当第二个参数指定为MYSQLI_ASSOC时,返回关联数组;当指定为MYSQLI_NUM时,返回数字索引数组;当同时指定为MYSQLI_BOTH时,返回关联数组和数字索引数组。
三、mysqli_fetch_array的注意事项
在使用mysqli_fetch_array函数时,需要注意以下几个事项:
- 每次调用mysqli_fetch_array函数会返回一行数据,直到查询结果被遍历完。
- 查询结果需要通过mysqli_query函数进行获取。
- mysql_fetch_array返回的数组中下标是字符串或数字,需要按照自己的习惯使用其中一种。
- 查询结果中的列名和查询语句中指定的列名相同。
//判断查询结果是否为空 if(mysqli_num_rows($result) == 0){ echo '查询结果为空!'; }else{ while($row = mysqli_fetch_array($result)){ echo $row['name'] . ' ' . $row['age']; } }
在使用mysqli_fetch_array函数时,如果查询结果为空,则需要进行判断,避免出现错误。
四、mysqli_fetch_array的性能问题
mysqli_fetch_array函数从查询结果中获取数据需要一定的时间。当查询结果较大时,需要读取所有的查询记录,会占用大量的内存,导致性能问题。因此,我们应该尽量避免一次性读取所有的查询结果。可以通过限制查询结果的数量,或者使用mysqli_fetch_assoc函数,提高程序的性能。
//限制查询结果的数量为10 $sql = "SELECT * FROM users LIMIT 10"; $result = mysqli_query($con, $sql); //获取查询结果 while($row = mysqli_fetch_array($result)){ echo $row['name'] . ' ' . $row['age']; }
五、总结
mysqli_fetch_array函数是PHP中获取查询结果的常用函数之一。在使用该函数时,需要注意避免查询结果过大导致的性能问题。在获取查询结果之前,要先通过mysqli_query函数执行SQL查询语句,并采用合适的判断方式避免查询结果为空的情况。