在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

php mysql 获取结果集的问题??

貌似一直用的是第二个,第一个是怎么用的??最好能举个例子??
最新回答
佐佐木惠理

2025-03-27 00:13:36

首先看传入的参数:第一个是resource类型的结果集,是mysql_query($sql)的返回值,第二个则是传入SQL语句。参数类型不一样。
再看函数体:mysql_fetch_assoc($result)接受的传入类型是resource类型,他有两种返回值的可能,一种是如果结果集存在行记录,则返回一行记录,是关联数组类型的。如果没有行记录,即查询结果为空,则返回布尔类型的false。
看第一种方法,while()循环是当判断条件为true时执行,就是如果mysql_fetch_assoc($result)没有返回false,即有数据库查询后有行记录,就会把在循环体中把返回值$rs添加到数组$row中,$row将会是二维数组,键是int类型的0,1,2.。。。
而你说的第二个getOne()将只能返回一行查询记录,如果没有记录,将会返回false。
你可以用print_r()打印出getOne和getAll()的结果。
比如数据库存在是id=1,name=aa ;id=2,name=bb两条记录,则getAll()打印出的是
Array([0]=>Array('id'=>1,'name'=>'aa'),[1]=>Array('id'=>2,'name'=>'bb'))
getOne打印出的是Array('id'=>1,'name'=>'aa')[我初学PHP,不排除分析错误]
影魅

2025-03-27 04:56:12

你指的第一个、第二个是什么?