从MySQL表中选择多行

时间:2013-10-08 11:57:03

标签: php mysql select rows

我有一个包含数组的会话,该数组用id填充。从MySQL表中选择与这些id相对应的所有行的最佳方法是什么?

所以我需要这样的东西:

SELECT * FROM table WHERE id = $_SESSION['ids']

显然,这不起作用,因为$ _SESSION ['ids']是一个数组。

3 个答案:

答案 0 :(得分:3)

     SELECT * 
     FROM 
        table
     WHERE 
         find_in_set(id, $_SESSION['ids'])>0

答案 1 :(得分:2)

您可以使用IN SQL运算符。 在这种情况下,您的查询将类似于

$sql = 'SELECT * FROM table WHERE id IN ("' . implode('","', $_SESSION['ids'] . '")';

此代码将生成如下查询:

SELECT * FROM table WHERE id IN ("1", "2", "foo");

希望有所帮助

答案 2 :(得分:1)

HI试试这个,

 $var = $_SESSION['ids'];

 and then fire your query as

 $sql = SELECT * FROM table WHERE id = '$var';