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'

このクエリを直接実行すると、 asPostgresql IDEの出力が得られました。count2

このクエリのどこが間違っている可能性がありますか? 節の(and)の存在を疑います。WHEREこれを修正するにはどうすればよいですか?

アップデート

プロファイラーを有効にすると、次のクエリが表示されました。

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

したがって、明らかに問題は(およびに存在します)!!

4

2 に答える 2

2

ビンゴ!!変数$ownerをクエリに渡す前に次の行を追加しましたが、機能しました。

$owner = html_entity_decode($owner);
于 2013-02-08T01:47:17.810 に答える
0

select sum(db.[count] as icount は、言語では count も予約語である可能性があるため、実行しようとしましたか。フィールドを括弧で囲むか、名前を変更して、新しい出力に count という名前を付けないようにしてください。

于 2013-02-08T00:30:57.790 に答える