带有数组变量的MYSQL语句

时间:2013-10-06 20:17:51

标签: php mysql arrays

所以我将以下mysql语句保存到数组中:

$sql = "SELECT did FROM did WHERE id = '$did_id'";  
$result = mysqli_query($link, $sql, MYSQLI_STORE_RESULT);
    while($row = $result->fetch_row()){
       $did[] = $row;
       }

那部分效果很好。但是现在我需要获取$ did数组中的值并使用其中的值执行另一次查找。它的工作方式是我们将用户分配给某些人。所以我发现用户被分配到的($ did数组)并且只根据那些确实的值显示来自另一个表的结果。我不知道这部分是如何工作的,但这是我的下一个声明需要做的事情:

   SELECT * FROM log WHERE did_id = "the values in $did array"

希望有人可以提供帮助。对此,我真的非常感激。我真的找不到任何东西。

1 个答案:

答案 0 :(得分:0)

你可以使用php的join和mysql的IN来制作逗号分隔的字符串,你也可以使用implodejoin()是别名implode(); < / p>

SELECT * FROM log WHERE did_id IN( ".join(',',$did).")

有一点需要提及的是,$did应该包含ID,如

array("1","2","3"....)

所以在你的循环中获取第一个包含did列值的索引

$did[] = $row[0];

注意:我假设diddid_id类型为intbigint