欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PDO fetch的问题

程序员文章站 2023-12-27 18:45:39
...
pdo 数据

小弟封装了一个函数,有三张图,我想把fetch()到的数据做while循环,可是出现了死循环,$roomName是有值的

求解

回复讨论(解决方案)

你的 getListRoom 调用了 fetchData,并返回他的结果
而 fetchData 每次都要执行 SQL 查询
除非出错或没有找到结果,fetchData 总是会返回查询到的结果的第一条记录
所以如果用 fetchData 的返回值作为循环终止的判断是不行的

你在 fetchData 方法中应该用 fetchall 返回结果集数组
然后用数组方法展示结果

谢谢,问题已经解决。但还有一点疑问,您的意思是fetch方法只能在循环时直接调用,可是又没有办法把fetch封装起来呢

可以把fetch封装起来,但是象你这样的不行!
比如 fetchData($sql) 的本意是执行 sql 指令并返回结果
由于结果可能是一条,也可能是多条。所以仅 fetch 就不能满足要求了,要用 fetchall
实际工作中,查询结果只有一条的情况很多,比如取得记录数、检查用户是否注册等
你可以再定义一个 fetchrow 方法,用 fetch 只返回一行

明白了,多谢!

相关标签: PDO fetch的问题

上一篇:

下一篇: