2014-02-25 48 views
0

我有一個表:產品PDO SELECT [和 - 或者]

---- id ---- send ---- get ---- 

---- 1 ----- jack ----- sedo ---- 

---- 2 ----- jack ----- imam ---- 

---- 3 ----- imam ----- sedo ---- 

---- 4 ----- imam----- jack---- 

我想從產品與PDO選擇PREPARE

where (send = imam AND get = jack) OR (send = jack AND get = imam) 

這似乎不工作。

$query=$db->prepare("SELECT * FROM product WHERE (send = :send AND get = :get) OR (get = :get AND send = :send)"); 
$query->execute(array(
    ':send'   => "imam", 
    ':get'   => "jack", 
    ':send'   => "jack", 
    ':get'   => "imam", 
    ) 
); 

我該如何做這個查詢?感謝

+3

您需要命名你的每一個參數的不同的東西。如':send'和':send2'。 –

回答

2

嘗試重命名您的PARAMS

$query=$db->prepare("SELECT * FROM product WHERE (send = :send1 AND get = :get1) OR (get = :get2 AND send = :send2)"); 
$query->execute(array(
    ':send1'   => "imam", 
    ':get1'   => "jack", 
    ':send2'   => "jack", 
    ':get2'   => "imam", 
    ) 
); 
+0

爲什麼對此答案投下贊成票?這是正確的。 – ajtrichards