這是(1):這個codeigniter查詢是如何執行的?
SELECT `message`, `from` FROM (`chat_messages`) WHERE `from` = '1' AND `delivered` = 1 OR `to` = '1' AND `delivered` = 1
與此相同(2)
SELECT `message`, `from` FROM (`chat_messages`) WHERE (`from` = '1' AND `delivered` = 1) OR (`to` = '1' AND `delivered` = 1)
我用來產生結果的笨方法鏈式查詢(1)是
$this->db->select('message,from')->from('chat_messages')->where(array('from' => $user, 'delivered' => 1))->or_where('to', $user)->where('delivered', 1);
並生產(2)我用這個
$where = "(`from` = '1' AND `delivered` = 1) OR (`to` = '1' AND `delivered` = 1)";
$this->db->select('message,from')->from('chat_messages')->where($where);
有人可以請解釋一下從上面寫出CI查詢的最佳方法嗎?在第一個例子中,AND是否優先?
解釋什麼?布爾邏輯? SQL語法中AND與OR的優先級? php關聯數組如何工作? –
SQL語法中AND與OR的優先次序..我編輯了問題@JamesAnderson .. – arshad