我有一个相当简单的要求如下;
$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 可以设置的一个值 - 没什么特别的。我想知道什么可能导致这个问题?
更新
我尝试将代码发布到我们的登台服务器并在那里进行测试。我找不到这种行为的原因,这看起来很狡猾。该代码在登台服务器上运行良好,没有错误。我在另一台开发服务器上尝试了代码,没有问题。因此,在我的开发服务器上似乎有些奇怪。