代码之家  ›  专栏  ›  技术社区  ›  giancy9

从表中的多个值中选择不在数组中的位置

  •  0
  • giancy9  · 技术社区  · 8 年前

    我有一个包含一些值的数组。我想从表中检索一些值不等于数组中的值的数据

    $myarray_example = array(1.1,2.5);
    

    表格示例:

    id   value
    1     1.10
    2     1.10
    3     2.50
    4     2.50
    5     3.10
    6     3.10
    

    询问

    SELECT value FROM table 
    WHERE value NOT IN ($myarray_example)
    

    它返回一切。如果我使用“WHERE value IN..”则它不返回任何内容。

    有人知道为什么会这样吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   lubilis    8 年前
    $query = " SELECT value FROM table ";
    $query .= " WHERE value NOT IN ( ";
    
    $count = 0;
    foreach($myarray as $item) {
        $query .= $item;
        if ($count != count($myarray) - 1)
            $query .= ",";
        $count++;
    }
    
    $query .= ")";