无法运行foreach:提供的参数无效

时间:2013-12-29 09:07:41

标签: php mysql

我正在运行下面这段代码来从两个表(项目 - 列出所有项目)和类别(获取类别名称和查询类别表)中获取数据。我得到了无效的参数。

$items = mysql_query("SELECT * FROM account_items 
WHERE acctname = '$acctname'")or die(mysql_error());

while ($rows = mysql_fetch_array($items)) {
    $itemType = $rows['item_type'];
    $itemid = $rows['id'];
    foreach ($itemType as $item) {
        $result = mysql_query("SELECT * FROM `$itemType ` 
        WHERE network_id = '$itemid' ")or die(mysql_error());
        echo $result;
    }
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

试试这个:

$items = mysql_query("SELECT * FROM account_items WHERE acctname = '$acctname'") or die(mysql_error());

while ($rows = mysql_fetch_array($items)) {
    $itemType = $rows['item_type'];
    $itemid = $rows['id'];
        $result = mysql_query("SELECT * FROM `$item` 
        WHERE network_id = '$itemid' ")or die(mysql_error());

}

但你不能像你一样回应$ result,不管是数组

答案 1 :(得分:0)

我能够通过使用以下代码解决问题:删除foreach并创建嵌套的while循环。

     $items = mysql_query("SELECT * FROM account_items WHERE acctname = '$acctname'")or die(mysql_error());
    while ($rows = mysql_fetch_array($items)) {
    $itemType = $rows['item_type'];
    $itemid = $rows['id'];
    $result = mysql_query("SELECT * FROM `$itemType` WHERE network_id = '$itemid' ")or die(mysql_error());
    while ($res = mysql_fetch_array($result)) {
    echo json_encode($res);                                                                
  }                                
}