在修改一个使用旧的PHP框架写的系统的时候碰到了同一个SQL查询语句查询结果不一样的问题,百度了半天,大概是没有办法描述清楚问题,一直没有找到我碰到的问题的类似提问。找了好久的问题,最后才发现是我向数据库表中插入数据时候没有提交导致的问题。
我是在PL Developer中使用select from table for update 进行手工插入数据的
输入数据之后,只点了绿色的对号和小锁图标,然后又重新执行查询语句:
select from table
这时候在PL Developer中是可以查询到新插入的数据的,但是在php代码中同一句查询语句只能查到列名,并没有数据内容。经过对此检查调试,其他部分代码都没有问题,转而想到是不是数据没有插入成功,于是在PL Developer中执行了commit操作,然后刷新网页重新点击查询按钮就看到了查询结果。
这次差错倒是有了一个新的查错思路:
1数据是否正确插入
2查询语句是否正确
3调用sql语句是否正确
4php显示页面是否正确