Home  >  Article  >  Backend Development  >  PDO fetch的问题

PDO fetch的问题

WBOY
WBOYOriginal
2016-06-23 14:20:04962browse

pdo 数据



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

求解

回复讨论(解决方案)

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

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

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

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

明白了,多谢!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn