【发布时间】:2013-02-07 22:14:43
【问题描述】:
我有以下代码块,预计会返回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'
所以很明显问题存在于( 和) 上!!
【问题讨论】:
-
在这种情况下,分析器不是处于最佳状态。尝试从 sql 命令提示符运行查询,看看括号是否仍然令人悲伤。我怀疑他们会这样做。
-
不,我尝试在
IDE上运行查询,我得到了预期的输出。 -
我尝试在不使用查询绑定的情况下运行查询,并且得到了正确的输出。这证实了问题在于查询被编码。
-
值得尝试 mysqli 和 pdo 驱动程序,看看它们是否更好。 - 但现在我看到了 postgresql 标签。没关系。
标签: php codeigniter postgresql activerecord