這似乎對任何人都不復雜,但它對我來說。複雜的Mysql查詢 - PHP
我有一個使用IN
子句的mysql查詢。它收集與PHP陣列匹配的表中的所有數據。該陣列被稱爲$IdArray
。對於這個示例的目的可以說$IdArray
包含這些變量,['0','1','2','3']
。因此,這裏是我的代碼,使用查詢,
$secondArray = array();
function apply_quotes($item){
return "'" . mysql_real_escape_string($item) . "'";
}
$idQuotes = array_map('apply_quotes', $IdArray);
$query = "SELECT * FROM ids WHERE id IN (" . join(',', $idQuotes) . ")";
$results = mysql_query($query);
while($row = mysql_fetch_array($results)){
if($row['id']){
$secondArray[] = "YES";
}
else{
$secondArray[] = "NO";
}
}//end while loop
正如你可以告訴我改變$IdArray
,因此它可以被放置到mysql_query()
功能。現在$secondArray
是我嘗試存儲響應的數組。我想要做的是如果存儲在$IdArray
中的一個數字存儲在ids
表中,則將YES
置於$secondArray
中。但是,如果$IdArray
中的數字未存儲在ids
表中,則它會將NO
存儲到$storedArray
中。
舉個小例子,(我想要發生的事情),正如前面所說的,讓我們說$IdArray
包含['0','1','2','3']
。 在表ids
中存儲號碼1
和3
。所以當查詢運行時$storedArray
將包含這個['NO','YES','NO','YES']
。
目前我的代碼不這樣做!當$IdArray
中的數字存儲在ids
表中時,它所做的只是存儲YES
。所以當查詢運行時(使用上面的相同變量)$secondArray
將存儲這個['YES','YES']
。
當號碼沒有存儲在ids
表中時,我如何獲得它以將NO
存儲到$secondArray
中?
這是預期的行爲。 – hjpotter92
爲什麼要麻煩評論?顯然我在問一個問題。你沒看過最後一句話嗎? – user2861085