为什么此查询在块内部工作但不在自定义Panel内容中?

时间:2010-10-30 21:28:40

标签: mysql drupal-6 drupal-panels

为什么以下查询在Drupal Block中有效,但在Panels Page的窗格中是“自定义内容”的一部分时却不行?它在检查“AND node.type in ....”附近的查询语法时出错。此外,如果我把它放在一个块然后在Panels页面内显示该块,它就可以正常工作。所以,虽然我已经开始工作......我真的想知道为什么直接放在Panel内容中它不起作用。

<?php
global $user;
if($user->uid) {
$result = db_query("Select COUNT(node.nid) from {node}
   LEFT JOIN {flag_content} flag_content_node 
       ON node.nid = flag_content_node.content_id AND 
       flag_content_node.fid = 7 
       where node.uid = %d AND node.type in ('node_type') AND
       (flag_content_node.uid IS NULL)", $user->uid);

$item_count = db_result($result);

print $item_count;
}?>

1 个答案:

答案 0 :(得分:0)

您的查询参数可能有问题,因为它出错了。也许如果$user->uid为空?它会在查询中插入''而不是“%d”吗?这看起来很奇怪。

这也意味着你没有登录。

不,这不可能,因为您首先检查$user->uid是否为真。