我为查询得到了一个真的奇怪的错误。我正在使用CMS,当我在公共页面时查询工作正常,直到几个小时前,它也在管理页面中工作。
奇怪的是,当我去登录管理员时,由于引用了一个实际上根本不属于查询的未知列,它失败了,它是一个会话变量。
查询是;
select * from pages p, templates t, sites s where p.page_title_csv='uber,admin' AND p.page_template_id=t.template_id AND s.site_id=p.page_site_id
错误是;
Page selection query failed coz of:Unknown column 'this_site' in 'where clause'
它引用的列('this_site')实际上是我的会话变量之一,并且在查询中根本没有提到它,所以它如何导致错误对我来说是一个完全的谜。它在我的任何表格中都不是一个专栏。
我已经检查过了;
我知道我最近没有改变表格结构,导致任何问题。正如我所说,它适用于所有公共页面,但不适用于任何管理员。
我唯一可能留下的线索是$ _SESSION ['this_site']有一个公共页面的设置,而管理员有一个不同的值,虽然为什么在它甚至不在查询中时这很重要超越我(特别是直到现在还好)。
任何帮助表示赞赏,现在是凌晨3点30分,所以在我让事情变得更糟的前一天晚上放弃......干杯
(最后一次尝试完全重启,如果我不是在一小时内再次发布,那也不起作用)
答案 0 :(得分:0)
修正了它! Marc指出了方向 - 我开始向下看,发现页面中的嵌入式函数导致了狡猾的查询,因为我改变了在页面构建例程中处理call_user_func()的方式。如果不是为了帮助,我相信我会被困住更长时间。 (只是写下我的问题帮助我把它弄到脑子里,永远不要低估写下问题的力量)。
感谢所有观看/思考这个问题 - 我在过去几个月里遇到的几乎所有其他问题都是通过浏览Stackoverflow解决的,但这是我第一次发帖。对于程序员社区来说,最好的网站可以提供帮助,这部分是您在阅读和回复时的错误 - 非常感谢您!