> 文章列表 > php fetch_array

php fetch_array

php fetch_array

什么是.fetch_array?

.fetch_array是一个PHP函数,常常用于MySQL数据库查询。该函数返回一行记录,以数组的形式存储。该函数可以提取结果集中的数据,并返回一个数组,数组的元素为查询结果中的属性值,以及结果的下标。 .fetch_array同时也有不同的参数,能够在提取结果时按指定的要求完成记录。

.fetch_array语法

在语法上,.:fetch_array有两种形式:
1.- mysqli_fetch_array($result, $resulttype);
2.- mysql_fetch_array($result, $resulttype);
其中,$result指PHP对MySQL数据库查询返回的结果集,而 $resulttype则表示该函数返回数组的类型,它有两个参数:MYSQL_BOTH(默认值)返回一个既带有数字索引键名,又带有字符串键名的数组。 MYSQL_NUM返回一般数组,只带有数字键名,并且结果集中所有字段默认按照整型数据来处理。

使用.fetch_array提取结果集的记录

假设已将MySQL数据库中的表格作为数据源,在PHP中已经通过mysql_query语句发出了查询请求并获得了查询结果,即$result。此时,即可使用.fetchall()方法按指定的要求拿到DB中的数据。
以实例为例,我们来看一下如何使用.fetch_array方法从结果集中提取数据:
$q="SELECT name,age FROM persons ";
$result=mysql_query($q);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo $row['name'], $row[1];
}
在这个例子中,我们从persons表中选择了'name和'age'列。运行查询后,我们得到了一个结果集,其中包含了查询所得的记录。然后,我们使用循环语句while()和.fetch_array()方法获取记录,并在控制台上打印每条记录的name和age字段的值。

fetch_array常见错误及其解决方法

1.错误提示:[警告]mysql_fetch_array() expects parameter 1 to be resource, boolean given in /路径/index.php,这很可能是SQL语句执行失败,返回一个为false的结果集。 解决方法是在mysql_query()外增加一个判断是否执行成功的语句,如:
if(!$query)echo "执行失败!";
2.错误提示:Warning:mysql_fetch_array() expects parameter 1 to be resource, null given in /路径/index.php。这可能是因为在没有连接数据库之前就执行了mysql_query()语句导致的。相应的,需在mysql_connect()后执行mysql_select_db('db_name')来选定一个数据库。

总结

.fetch_array()函数在PHP中很常用,尤其是处理数据库查询结果时。 虽然该函数有参数,在使用时会时常遇到参数不全、 参数顺序不正确等问题,但只要仔细阅读函数文档,便可以轻易掌握好fetch_array()的使用。 总之,在使用fetch_array()函数时,需要注意:首先,需要正确连接数据库;其次,在循环中使用该函数时,应确保fetch_array()每次都获得一行记录,否则循环将陷入死循环;最后,不要忘记检查程序中的参数是否完整且顺序正确。