我有一个这样的阵列

array([0]=> '[email protected]', [1]=> '[email protected]', [2]=> '[email protected]');

我还有一张桌子,上面有成堆的电子邮件。
我想能够删除所有这些电子邮件,除了那些在数组中。
我试过这个密码但什么也没发生:
    $emails = join(', ', $emails);
    $sql = "DELETE FROM emails WHERE customer_id='".$id."' AND email NOT IN(".$emails.")";
    $query = $this->db->query($sql);

有人能告诉我哪里出错了吗?
谢谢
彼得

最佳答案

您需要在php中使用implode函数将covert数组导入字符串。
还需要用引号将电子邮件的字符串值括起来:

$sql = "DELETE FROM emails WHERE customer_id='".$id."' AND
        email NOT IN('".implode("','",$emails)."')";

关于php - 从NOT IN中删除不适用于PHP数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12301299/

10-12 19:33