$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也不是空的。 –