来自数组的Mysql查询

use*_*790 -6 php mysql

可能重复:
使用数组的MySQL查询
如何在mysql查询的'IN'子句中使用PHP中的值数组?

从Post表单我有一个这样的数组

Array
(
    [userid] => Array
        (
            [0] => 4e8329e97231c
            [1] => 4e64b47849318
            [2] => 4e4e415a30000
        )

)
Run Code Online (Sandbox Code Playgroud)

我很难从这个数组中检索mysql中的用户数据

这应该是这样的:

SELECT * FROM user_detail WHERE user_id='4e64b47849318' OR user_id='4e8329e97231c' OR user_id='4e4e415a30000'
Run Code Online (Sandbox Code Playgroud)

Cod*_*ter 7

使用implode().

$yourArray = array_map("mysql_real_escape_string", $yourArray);

$query = "SELECT * FROM user_detail WHERE user_id='";
$query .= implode($yourArray, "' OR user_id='");
$query .= "'";
Run Code Online (Sandbox Code Playgroud)

或者确实使用SQL IN关键字:

$yourArray = array_map("mysql_real_escape_string", $yourArray);

$query = "SELECT * FROM user_detail WHERE user_id IN ('";
$query .= implode($yourArray, "','");
$query .= "')";
Run Code Online (Sandbox Code Playgroud)