Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO选择[和-或]_Php_Mysql_Sql_Pdo - Fatal编程技术网

Php PDO选择[和-或]

Php PDO选择[和-或],php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我有一张桌子:产品 ---- id ---- send ---- get ---- ---- 1 ----- jack ----- sedo ---- ---- 2 ----- jack ----- imam ---- ---- 3 ----- imam ----- sedo ---- ---- 4 ----- imam----- jack---- 我想从PDO准备的产品中选择 where (send = imam AND get = jack) OR (send = jack AND

我有一张桌子:产品

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

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

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

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

---- 4 ----- imam----- jack----
我想从PDO准备的产品中选择

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",
    )
);

如何进行此查询?谢谢

尝试重命名您的参数

$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",
    )
);

您需要将每个参数命名为不同的名称。例如
:send
:send2