2个回答
2013-03-30
展开全部
首先看传入的参数:第一个是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,不排除分析错误]
再看函数体: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,不排除分析错误]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询