簡體   English   中英

選擇結果,除了字符串in_array與sql

[英]select result except strings in_array with sql

我有這樣的代碼:

$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

我想在WHERE之后將此行添加到$ new_ads = $ db->

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."%'");

但這永遠無法正常工作。

有什么幫助嗎?

謝謝。

沒有像sql in array這樣的東西。 只是結果集。 你要

AND ads_id NOT IN (4,6,9)

你應該這樣

AND ads_id NOT IN ( implode(',', $c_ads) )

您可以使用子查詢而不是運行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')"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM