Mysql NOT IN子句的内爆PHP整数数组

Tre*_*vor 4 php mysql mysql-error-1064

我一直在尝试将PHP整数数组用于使用该NOT IN子句的MySQL查询,但是尽管没有错误,它似乎总是返回我想要过滤掉的结果.

例:

$IDS = $_SESSION['Posts'];
$Select = 'SELECT * 
             FROM status 
            WHERE (W_ID = '.$ID.') 
              AND (ID NOT IN ("'.implode(',', $IDS).'")) 
         ORDER BY ID DESC 
            LIMIT '.$Begin.', '.$Number.'';

$Select = mysql_query($Select) OR DIE(mysql_error());
Run Code Online (Sandbox Code Playgroud)

我很确定这是一个逻辑语法错误.

我测试的是:

我确保$ IDS被视为一个数组.我还测试了是否存在数组中存储的值.我也没有引用整数数组,但是因为没有它们我得到了一个mysql语法错误.

Mic*_*ael 6

问题是块的开头和结尾两个IN.它们导致整个implode数组变为以逗号分隔的字符串.