2011-04-18 68 views
0

我得到一个真的奇怪的错误的查询。我正在开发一个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”)的列实际上是在我的会话变量之一,并在查询中没有提到在所有所以它是如何造成的错误是一个总的谜给我。它甚至不是我的任何表格中的一列。

我已经检查;

  • 数据库连接罚款
  • 肯定是有与“尤伯杯,管理”的page_title_csv页面(绝对只有一个)
  • 我试图消除别名
  • 我已经甚至尝试将'like'更改为'='
  • 销毁$ _SESSION并在关闭多个浏览器(Chrome,Firefox,Safari)后再次启动
  • 重新启动所有服务(运行Windows 7,Apache 2.2.17,PHP 5.3。 5 & MySQL 5.5.8)

我知道我最近没有改变表结构足以导致任何问题。正如我所说,它可以在所有公共页面上正常工作,但不在任何管理员身上。

我剩下的唯一可能的线索是$ _SESSION ['this_site']有一个公共页面设置,而管理员有一个不同的值,但为什么这应该很重要,当它甚至不是在查询中超越了我(特别是到现在为止还好)。

赞赏任何帮助,这是上午3:30这里,所以放弃了前一天晚上我让事情变得更糟......干杯

(最后沟尝试完全重启,如果我不会再在这里发帖在一小时内,也没有任何工作)

+1

你可以发布你的PHP代码来创建和执行查询吗?错误可能在于此。 – ANisus 2011-04-18 18:22:51

+2

您发布的查询没有提及'this_site',因为您声明它是会话变量,可能不会被解析(IE不连接或在单引号内使用)。您将不得不显示相关代码以获得一些帮助,因为您提供了很好的信息,而不是解决问题所需的“正确”信息。 – 2011-04-18 18:47:39

+2

该错误可能与发布的查询字符串根本不相关,但作为验证/验证序列的一部分,属于CMS的其他部分的一部分,因此实际错误是由完全不同的查询造成的。 – 2011-04-18 19:24:53

回答

0

定了! 马克指明了方向 - 我开始进一步寻找的路线,发现在页面嵌入功能是造成狡猾的查询,因为我改变了我处理call_user_func()在页面建设程序的方式。我敢肯定,如果不是为了帮助,我会陷入更长时间。 (只要写下我的问题,我也能正确理解我的观点,永远不要低估写下问题的力量)。

感谢大家查看/思考这个问题 - 几乎在过去几个月中我遇到的其他问题都已经通过浏览Stackoverflow解决了,但这是我第一次发布。对于程序员社区来说,最好的网站可以为你提供帮助,这在一定程度上是你阅读和回应你的错的地方 - 非常感谢你!