在PHP中操作MySQL数据库:可执行INSERT但无法执行SELECT的问题排查
解决PHP中MySQL INSERT正常但SELECT失败的问题
问题背景
我最近在开发一个社区公告板项目,碰到了个头疼的问题:PHP代码里执行INSERT操作能正常把内容提交到MySQL数据库,但SELECT操作却完全没效果,查不出任何数据。
排查与解决过程
一开始我毫无头绪,直到看到评论区的建议——开启PHP错误提示,这才精准定位到了问题根源!
最终发现两个关键错误:
- 有两处数据库操作函数误用了旧的
mysql_前缀(比如mysql_query()),而项目里其他数据库操作都是用的mysqli_扩展,导致连接上下文不匹配,SELECT操作根本没用到正确的数据库连接 - 写预处理SQL查询的时候,错误地调用了
mysqli_query()来执行,预处理语句的正确执行方式应该是调用->execute()方法
把这两处问题修正后,SELECT操作立刻恢复正常,现在公告板的发布列表页面已经能正常从数据库读取内容并展示了!
致谢
特别感谢评论区里提醒我开启错误提示的朋友,以及指出预处理语句执行方式错误的朋友,你们的建议帮我省了超多排查时间!
内容的提问来源于stack exchange,提问作者psychgaz
相关产品推荐
相关产品推荐

