热搜:NVER node 开发 php

PDO fetch的问题

2024-09-22 10:55:01
PDO fetch的问题

pdo 数据



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

求解

回复讨论(解决方案)

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

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

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

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

明白了,多谢!