foreach循环中的php mysql查询无法正常工作

时间:2011-06-03 18:46:46

标签: php mysql arrays foreach

名字几乎解释了所有 -

我有一个数组,我想为数组中的每个项目运行一个查询

两个变量来自此卷,卷和页码 - 卷包含在数组中,我需要为每个卷提取相应的页码

继承我的代码:

$volsArr = array(1, 2, 3, 4);

foreach ($volsArr as $volume) {
 $pages = mysql_query("SELECT page FROM $table WHERE vol = '$volume' LIMIT 1");
    if (!$pages) { die("Query to show fields from table failed"); }
      while($row = mysql_fetch_array($pages)) {
       $page = $row['page'];
      }
    echo 'volume is '.$volume.'';
    echo 'page is '.$page.'';
   }

我无法弄清楚我遇到的问题是什么,我得到的输出是这样的:

成交量为1 页面是40

(这对第1卷来说是正确的)

成交量为2 页面是40

(页面应为8)

成交量为3 页面是40

(页面应该再次不同)

等...

我在关闭循环之前尝试unset($page),但似乎没有做任何事情,请帮助!

我还尝试移动回声,使它们在while($row...)循环中,但这只会为我提供数组中第一项的输出....

1 个答案:

答案 0 :(得分:1)

根据您的更新,原因是:行不存在where vol in ('2','3','4')

$page永远不会被更新,因为没有要获取的行。