数组为空时SQL IN运算符错误


SQL IN Operator ERROR when array is empty

SQL IN OPERATOR

我使用IN运算符是因为我在SQL语句中使用数组

例如:

$city[1] = "'Paris'";
$city[2] = "'London'";
$cityString= implode(", ", $city);
SELECT * FROM Customers
WHERE City IN ($cityString);

但在我的代码中,我使用GET或POST数组的值。但是当数组为空时,就没有值了,所以我的SQL语句就不起作用了。如何在没有if语句的情况下解决此问题,并拥有数千个SQL语句的列表。

您可以检查数组是否为空:

if(!empty($city)) {
    $query = "SELECT * FROM Customers WHERE City IN ($cityString)";
    $result = mysql_query($query);
} else {
    // .. do something else ?
}