$skuArray = array(00240=>123,00241=>456);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN($skuArray)");
我上面的代碼不工作選擇多個值,我怎樣才能讓它在選擇所有的SKU從數據WHERE SKU =任何在$ skuArray鍵名的? (在這種情況下爲00240和00241)PHP/MySQL的 - 關聯數組
希望這是有道理的,謝謝。
$skuArray = array(00240=>123,00241=>456);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN($skuArray)");
我上面的代碼不工作選擇多個值,我怎樣才能讓它在選擇所有的SKU從數據WHERE SKU =任何在$ skuArray鍵名的? (在這種情況下爲00240和00241)PHP/MySQL的 - 關聯數組
希望這是有道理的,謝謝。
試試這個:
<?php
$skuArray = array('00240'=>123, '00241'=>456);
$inSkus = array();
foreach (array_keys($skuArray) as $key)
{
$inSkus[] = '"' . $key . '"';
}
$sql = 'SELECT sku FROM data WHERE sku IN (' . implode(', ', $inSkus) . ')';
echo $sql;
你需要有鑰匙爲字符串,然後你需要用這些括號中的SQL查詢。
$skuArray = array('00240'=>123,'00241'=>456);
$keys = array_keys($skuArray);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN('" . join("','", $keys) . "')");
foreach($skuArray as $value=>$key){
if($where=="")
$where= $value" = '".$key."'";
else
$where.= $value" = '".$key."'";
}
$getSkus = mysql_query("SELECT sku FROM data " .($where)?" WHERE $where)":"");
不能得到這個工作:( – Nicekiwi
什麼是不工作?被包裝在引號數組鍵,否則PHP讀取它們爲八進制。爲$ skuArray NULL?在這種情況下,你會在第2行得到一個錯誤你應該檢查一下$ skuArray也不是空的。 –