Ho il seguente blocco di codice che dovrebbe restituire il count
Trattare con parentesi in Codeigniter query
$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'];
}
Ma io sono sempre valori vuoti quando si tenta di stampare $count
.
ho usato print_r($this->db->last_query());
ed ho ottenuto la seguente query,
SELECT sum(count) as count FROM multipleowners WHERE owner = 'Davenports Harbour Trustee (2012) Limited' and locality = 'Auckland Central'
Quando ho eseguito questa domanda direttamente sul mio Postgresql
IDE
ho ottenuto l'output di count
come 2
.
Cosa e dove potrebbe essere andata a finire questa query? Dubito dell'esistenza di (
e )
nella clausola WHERE
. Come posso risolvere questo?
Aggiornamento
Quando ho attivato il profiler ho ricevuto la seguente query,
SELECT sum(count) as count
FROM multipleowners WHERE owner = 'Davenports Harbour Trustee (2012) Limited' and locality = 'Auckland Central'
Così, ovviamente, il problema esiste sul (
e )
!!
il profiler non è al suo meglio in questo caso. Provare a eseguire la query da uno sql prompt dei comandi e vedere se le parentesi danno ancora dolore, dubito che lo facciano. – wallyk
No, ho provato a eseguire la query su 'IDE' mettere. – Deepak
Ho provato a eseguire la query senza utilizzare il binding di query e ho ottenuto l'output corretto. In tal modo si conferma che il problema è con la query che viene codificata. – Deepak