2013-02-07 68 views
5

处理我有下面的代码块,预计返回count带括号的笨查询

$sql = "SELECT sum(count) as count 
      FROM multipleowners WHERE owner = ? " . $localityquery; 
    $queryarray = array($owner, $locality); 
    $query = $this->db->query($sql, $queryarray); 
    if ($query->num_rows() > 0) 
    { 
     $result = $query->row_array(); 
     $count = $result['count']; 
    } 

但是我得到空值,当我尝试打印$count

我用print_r($this->db->last_query());,我得到了下面的查询,

SELECT sum(count) as count FROM multipleowners WHERE owner = 'Davenports Harbour Trustee (2012) Limited' and locality = 'Auckland Central' 

当我直接执行此查询到我的PostgresqlIDE我得到的count输出作为2

什么和哪里可以这个查询出错了?我怀疑WHERE条款中存在()。我该如何解决 ?

更新

当我使我得到了下面的查询分析器,

SELECT sum(count) as count 
      FROM multipleowners WHERE owner = 'Davenports Harbour Trustee (2012) Limited' and locality = 'Auckland Central' 

如此明显的问题上()存在!

+0

探查不在其在这种情况下最好的。尝试从SQL运行查询命令提示符,并看看括号是否仍然给悲伤,我怀疑他们这样做。 – wallyk

+0

不,我试着在IDE上运行查询,放。 – Deepak

+0

我试图在不使用查询绑定的情况下运行查询,并且得到了正确的输出。所以这证实了这个问题是在查询获取编码的情况下。 – Deepak

回答

2

宾果!我已经添加了以下行之前,我传递的变量$owner到查询和它的工作,

$owner = html_entity_decode($owner); 
+0

你最好接受你的答案然后;) –

+0

我只能等待2天后才能接受:) – Deepak

0

您是否尝试过选择总和(db。[count]作为icount,因为在语言中count也可以是保留字,所以括号或重命名它,尝试不将新输出命名为count。

+0

这绝对不是这里的问题。感谢您的建议,但! – Deepak