【问题标题】:Select from mysql table WHERE field='$array'?从 mysql 表中选择 WHERE 字段='$array'?
【发布时间】:2011-01-23 21:07:26
【问题描述】:

如果我有一组说,一些用户 ID。我怎么能做这样的事情:

$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";

有没有一种简单的方法可以做到这一点,我考虑过遍历数组项,然后构建一个大的“WHERE -- OR -- OR -- OR”语句,但我认为对于大型数组来说这可能有点慢.

【问题讨论】:

    标签: php mysql select arrays


    【解决方案1】:

    使用IN:

    $sql = "SELECT * FROM `myTable` WHERE `myField` IN (1,40,20,55,29,48)";
    

    您可以使用implode(",", $array) 从数组中获取列表。

    【讨论】:

      【解决方案2】:

      你想使用IN:

      WHERE `myfield` IN (1,40,20,55,29,48)
      

      使用implode构造字符串:

      $sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";
      

      【讨论】:

      • 我会做“IN ($array)”吗?
      • 不,使用 implode 构造字符串。
      猜你喜欢
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      相关资源
      最近更新 更多