如何解决PHP / mySQL-在关联数组中选择WHERE多个值
||$skuArray = array(00240=>123,00241=>456);
$getSkus = mysql_query(\"SELECT sku FROM data WHERE sku IN($skuArray)\");
我上面的代码不起作用,如何使它在sku = $ skuArray中的任何键名的情况下从数据中选择所有sku \? (在这种情况下为00240和00241)
希望这有意义,谢谢。
解决方法
尝试这个:
<?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 )\":\"\");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。