我收到以下错误:
警告:为foreach()提供的参数无效 第324行/home/site/www.mysite.com/admin/categories.php
警告:无法修改标头信息 - 已发送的标头 (输出从/home/site/www.mysite.com/admin/categories.php:324开始) 在/home/site/www.mysite.com/admin/includes/functions/general.php上 第35行
而且我不确定该找到什么。
第324行看起来像这样:
foreach ($icons_id as $iconid) {
tep_db_query("insert into " . TABLE_PRODUCTS_TO_ICONS . " (products_id, icons_id) values ('" . (int)$products_id . "', '" . (int)$iconid . "')");
}
和第35行看起来像这样:
header('Location: ' . $url);
我认为这与无效的论点有关,但我不确定为什么它无效?
答案 0 :(得分:0)
正如我的评论中所述,由于之前的警告,标题调用失败,因此您需要首先解决此问题。警告表明$icons_id
不是数组。您可以添加如下保护措施:
if (is_array($icons_id)){
foreach ($icons_id as $iconid) {
tep_db_query("insert into " . TABLE_PRODUCTS_TO_ICONS . " (products_id, icons_id) values ('" . (int)$products_id . "', '" . (int)$iconid . "')");
}
}
这样可以防止出现这种警告,但您仍然需要弄清楚$icons_id
发生了什么,以及为什么它不是数组(如果您预期的话)。