PDO fetch的问题
程序员文章站
2023-12-27 18:45:39
...
pdo 数据
小弟封装了一个函数,有三张图,我想把fetch()到的数据做while循环,可是出现了死循环,$roomName是有值的
求解
小弟封装了一个函数,有三张图,我想把fetch()到的数据做while循环,可是出现了死循环,$roomName是有值的
求解
回复讨论(解决方案)
你的 getListRoom 调用了 fetchData,并返回他的结果
而 fetchData 每次都要执行 SQL 查询
除非出错或没有找到结果,fetchData 总是会返回查询到的结果的第一条记录
所以如果用 fetchData 的返回值作为循环终止的判断是不行的
你在 fetchData 方法中应该用 fetchall 返回结果集数组
然后用数组方法展示结果
谢谢,问题已经解决。但还有一点疑问,您的意思是fetch方法只能在循环时直接调用,可是又没有办法把fetch封装起来呢
可以把fetch封装起来,但是象你这样的不行!
比如 fetchData($sql) 的本意是执行 sql 指令并返回结果
由于结果可能是一条,也可能是多条。所以仅 fetch 就不能满足要求了,要用 fetchall
实际工作中,查询结果只有一条的情况很多,比如取得记录数、检查用户是否注册等
你可以再定义一个 fetchrow 方法,用 fetch 只返回一行
明白了,多谢!