我的代码如下
while ($row = mysql_fetch_assoc($result)) {
$active_bid_ids = array_unique($row);
$item_id = $active_bid_ids['item_id'];
echo $item_id;
echo '<br />';
$sql = "SELECT item_name FROM items_list WHERE id='$item_id'";
$result = mysql_query($sql, $cn) or
die(mysql_error($cn));
$row = mysql_fetch_assoc($result);
$item_name = $row['item_name'];
echo $item_name;
}
如果我在中间有额外的sql查询,而且我删除了行
,似乎查询只运行一次$sql = "SELECT item_name FROM items_list WHERE id='$item_id'";
while函数正常运行并返回许多结果。
答案 0 :(得分:4)
你正在重用你的$ result变量和$ row变量,它会抛弃你的循环。
尝试:
while ($row = mysql_fetch_assoc($result)) {
$active_bid_ids = array_unique($row);
$item_id = $active_bid_ids['item_id'];
echo $item_id;
echo '<br />';
$sql = "SELECT item_name FROM items_list WHERE id='$item_id'";
$innerresult = mysql_query($sql, $cn) or
die(mysql_error($cn));
$innerrow = mysql_fetch_assoc($innerresult);
$item_name = $innerrow['item_name'];
echo $item_name;
}