I have been having a problem with a query
which results in the following error
PHP Fatal error: Call to a member function result() on boolean on line 200
I'v had no problems with other queries
, but on this one I have to do a query
within a query
, which is the following:
$this->load->helper('date');
$datestring = "%Y-%m-%d";
$time = strtotime('yesterday');
$date= mdate($datestring, $time);
$db = $this->load->database('macs', TRUE);
$query = $db->query("SELECT TOP 1 TEMP1.USER AS PACKER, Count(TEMP1.[ORDER]) AS ORDERS FROM (SELECT AUDIT.USER, AUDIT.[ORDER] FROM AUDIT WHERE AUDIT.DATE > '$date' AND (AUDIT.TYPE='I11' Or AUDIT.TYPE =' 11') GROUP BY AUDIT.DATE, AUDIT.TYPE, AUDIT.USER, AUDIT.[ORDER]) AS TEMP1 GROUP BY TEMP1.USER ORDER BY Count(TEMP1.[ORDER]) DESC");
return $query->result();
$macsdb->close();
This works correctly in access (The above is a conversion of an access query). The query
starts to work (incorrectly however) when anything referencing USER
is removed. What could be causing this?
MySQL does not support TOP
clause
If you want to get TOP 1 record you can use query like this
SELECT * FROM table_name ORDER BY field_name DESC LIMIT 1