0

次のようなコードがあります。

$p = $db->query("SELECT ads_id FROM ads_submissions WHERE status = '0'");
$c_ads = array();
while($row = $db->fetchAll($p))
{
    $c_ads[] = $row;
}

出力

4 6 9

この行を $new_ads = $db-> WHERE の後に追加したい

AND ads_id = !in_array('$output', $c_ads)

id 4 と 6 と 9 を除くすべての ads_id を選択するには

$new_ads = $db->fetchOne("SELECT ads_id FROM ads_pack WHERE allowed_countries LIKE '%".$country_tr."%'");

しかし、これは決して正しく動作しません。

何か助けてください?

ありがとうございました。

4

3 に答える 3

2

あなたはこのようにすべきです

AND ads_id NOT IN ( implode(',', $c_ads) )
于 2013-04-11T19:31:14.127 に答える
2

in arraySQLのようなものはありません。単に結果セットがあります。あなたが欲しい

AND ads_id NOT IN (4,6,9)
于 2013-04-11T19:28:55.703 に答える
0

2 つのクエリを実行する代わりに、サブクエリを使用してこれを書き直すことはできますか?

"SELECT ads_id FROM ads_pack WHERE allowed_countries LIKE '%".$country_tr."%' AND ads_id NOT IN (SELECT ads_id FROM ads_submissions WHERE status = '0')"
于 2013-04-11T19:48:17.220 に答える