PHP/mySQL - 选择关联数组中的 WHERE 多个值

发布于 2024-11-17 12:18:29 字数 254 浏览 2 评论 0原文

$skuArray = array(00240=>123,00241=>456);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN($skuArray)");

我的上面的代码不起作用,我怎样才能让它从数据中选择所有 sku,其中 sku = $skuArray 中的任何键名称? (本例中为 00240 和 00241)

希望这是有道理的,谢谢。

$skuArray = array(00240=>123,00241=>456);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN($skuArray)");

My above code doesn't work, how can I make it SELECT all sku's FROM data WHERE sku = any of the key names in $skuArray? (00240 and 00241 in this case)

Hope this makes sense, Thank You.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

追风人 2024-11-24 12:18:29

试试这个:

<?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 查询。

Try this:

<?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;

You need to have the keys as strings and you then need to wrap them in parentheses for the SQL query.

漫雪独思 2024-11-24 12:18:29
$skuArray = array('00240'=>123,'00241'=>456);
$keys = array_keys($skuArray);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN('" . join("','", $keys) . "')");
$skuArray = array('00240'=>123,'00241'=>456);
$keys = array_keys($skuArray);
$getSkus = mysql_query("SELECT sku FROM data WHERE sku IN('" . join("','", $keys) . "')");
乖乖公主 2024-11-24 12:18:29
 foreach($skuArray  as $value=>$key){
    if($where=="")
       $where= $value" = '".$key."'";
    else
       $where.= $value" = '".$key."'";
 }
 $getSkus = mysql_query("SELECT sku FROM data " .($where)?" WHERE   $where )":"");
 foreach($skuArray  as $value=>$key){
    if($where=="")
       $where= $value" = '".$key."'";
    else
       $where.= $value" = '".$key."'";
 }
 $getSkus = mysql_query("SELECT sku FROM data " .($where)?" WHERE   $where )":"");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文