一、什么是mysql_fetch
mysql_fetch是php中与MySQL交互最基本的函数之一,它可以用来从MySQL结果集中获取一行记录。调用一次mysql_fetch会返回结果集中的下一条记录,当没有更多记录时返回false。
该函数需要首先通过mysql_query或mysqli_query方法执行一次SQL查询之后才能使用。使用mysql_fetch获取查询结果数据非常方便,可以逐行处理结果。
二、使用mysql_fetch从MySQL结果集中获取数据
下面是一个简单的例子,演示如何使用mysql_fetch从MySQL结果集中获取数据:
$query = "SELECT * FROM table"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { echo $row['id'] . ": " . $row['name'] . "
"; } mysql_free_result($result);
上面的代码通过执行查询语句获取了一个结果集,然后使用循环逐行取出记录并输出其中的字段id和name。在循环结束后通过mysql_free_result函数释放资源,避免内存泄漏。
三、使用mysql_fetch获取结果集中指定字段的值
如果只需要取出结果集中某个指定字段的值,可以使用mysql_result函数。它的参数分别是结果集、行号和字段名:
$query = "SELECT name FROM table WHERE id = 1"; $result = mysql_query($query); $name = mysql_result($result, 0, "name"); echo $name; mysql_free_result($result);
上面的代码只查询了一条记录,然后使用mysql_result获取了该行记录的name字段的值。
四、使用mysql_fetch获取结果集中指定行的值
如果需要获取结果集中指定行的记录,可以使用mysql_data_seek函数将结果集指针移动到指定位置,然后使用mysql_fetch获取该行记录:
$query = "SELECT * FROM table"; $result = mysql_query($query); mysql_data_seek($result, 2); $row = mysql_fetch_array($result); echo $row['id'] . ": " . $row['name']; mysql_free_result($result);
上面的代码将结果集中的指针移动到第3行,然后获取了该行记录并输出其中的id和name字段。
五、使用mysql_fetch获取结果集中多个记录
如果需要获取结果集中多个记录,可以使用mysql_fetch_all函数。它会将整个结果集转化为一个二维数组,每个元素对应一条记录:
$query = "SELECT * FROM table"; $result = mysql_query($query); $rows = mysql_fetch_all($result, MYSQL_ASSOC); foreach ($rows as $row) { echo $row['id'] . ": " . $row['name'] . "
"; } mysql_free_result($result);
上面的代码使用mysql_fetch_all获取了整个结果集,并将结果转化为二维数组,然后遍历数组输出其中的id和name字段。
六、总结
本文中介绍了使用mysql_fetch获取MySQL数据的几个方面,包括基本的使用方法,从结果集中获取指定字段和指定行的值,以及获取整个结果集。在使用mysql_fetch的时候需要注意释放资源,以免造成内存泄漏。