1

次の SQL クエリを作成しました。

$media_category_ids = array( 11, 12);
$params = array();
$sql = "SELECT `id`
    FROM query
    WHERE 1=1
    AND WHERE query.media_category_id NOT IN (:media_category_ids)";
$params['media_category_ids'] = implode(",",$media_category_ids);
$prepared_query = $c->prepare($sql);
$prepared_query->execute($params);

ただし、次のエラーが発生するため、「NOT IN」句の名前付きパラメーターの構文を正しく取得できないようです。

Message: An exception occurred while executing 'SELECT `id` FROM query WHERE 1=1 AND WHERE query.media_category_id NOT IN (:media_category_ids)': SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE query.media_category_id NOT IN ('11,2')' at line 4 

誰かが私を正しい方向に向けることができれば、本当に感謝しています。

4

2 に答える 2

0

次のクエリを使用します。別のクエリはWHERE必要ありません。

SELECT `id`
    FROM query
    WHERE 1=1
    AND query.media_category_id NOT IN (:media_category_ids)
于 2014-02-13T15:12:23.340 に答える