dbh-&gt; selectrow_array'where clause'</field>中的未知列<field>

时间:2013-10-11 12:20:32

标签: mysql perl dbi

我有一个相当简单的请求如下;

$self->{message_count} ||= $y->dbh->selectrow_array("SELECT count(*) FROM messages WHERE message_type 
                          IN ('user','system', 'notification') AND
                          gid = ? AND `read` = 0 AND mbox = ?", undef, $self->{ugroup} || 0, 1);

如果我手动将此查询键入mysql,则会返回正确的结果。

当我通过浏览网站上的相应页面来运行此查询时,我有时会收到错误

Unknown column user in 'where clause'

刷新页面可清除错误。

'user'只是message_type可以设置的值 - 没有什么特别之处。我想知道可能导致这个问题的原因是什么?

更新

我尝试将代码发布到我们的登台服务器并在那里进行测试。我找不到这种看似狡猾的行为的原因。代码在登台服务器上正常工作,没有错误。我尝试了另一台开发服务器上的代码,没问题。所以,我的开发服务器上看起来很奇怪。

1 个答案:

答案 0 :(得分:0)

问题似乎仅限于我的开发服务器,我相信它很不高兴。我正在重建它。