【问题标题】:Php looping through an array to select from database [closed]PHP循环遍历数组以从数据库中选择[关闭]
【发布时间】:2014-01-29 13:21:44
【问题描述】:

我有一个分解成数组的数字列表。然后我想遍历数组并使用数组中的值从数据库中调用信息。我尝试使用mysqli_data_seek 重置结果,但第二个循环抛出错误。

<?php 
$relatedArt = explode(",",$art["art_related"]); 

foreach($relatedArt as $value) { 

$relatedQ = "SELECT art_id,art_name,art_thumb FROM zoo_art WHERE art_id = ".$value." "; 

$relatedR = mysqli_query($connection, $relatedQ); 

confirm_query($relatedR, "problem"); 

mysqli_data_seek($relatedR, 0);                             
} 
?>

【问题讨论】:

  • 不是查询数组中的每一项,而是查找 MySQL 的 IN 运算符的作用。不要使用 mysql_* 函数,因为它们已经过时了,使用 PDO。您发布的整个代码可以使用我提到的两件事压缩成两行代码,因此请花几分钟时间熟悉它们。
  • @N.B OP 使用的是 mysqli,而不是 mysql
  • 我很抱歉,我的错误,很好。
  • @Daryl,很抱歉,因为我是新来的,OP 指的是什么?

标签: php mysql arrays foreach


【解决方案1】:

你应该做这样的事情 insted foreach 循环。

$relatedArt = explode($art["art_related"]);
$values = implode(",",$relatedArt); 
$relatedQ = "SELECT art_id,art_name,art_thumb FROM zoo_art WHERE art_id IN(".$values.") ";

IN Operator 用于以任何给定顺序查询数据库。

【讨论】:

  • $relatedArt 在您的示例中将是一个数组
  • @cecilozaur 已更正。
  • 是的。它是来自数据库调用的数字分解列表。
  • @kayann 然后你就可以做内爆了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-26
  • 1970-01-01
  • 2011-05-23
  • 2012-11-14
  • 2011-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多