0

所以我将以下 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 数组中的值并使用其中的值执行另一次查找。它的工作方式是我们将用户分配给某些 do's。所以我找到了用户被分配到的did($did 数组),并且只根据这些did 值显示来自另一个表的结果。我不知道这部分是如何工作的,但这是我的下一个声明需要做的:

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

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

4

1 回答 1

0

您可以使用 phpjoin和 mysql来制作逗号分隔的字符串,IN也可以使用join()implode()的别名;implode

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

在这里要提到的一件事是,您$did应该以类似的方式包含 id

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

因此,在您的循环中获取包含did列值的第一个索引

$did[] = $row[0];

注意:我假设diddid_id 类型是intbigint

于 2013-10-06T20:22:49.050 回答