![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
本人在运行一段代码时,系统返回错误信息
Invalid argument supplied for foreach() in /var/www/html/index.php on line 104[/COLOR]
程序源代码如下
[PHP]
for ($i=0,$n=count($result->field);$i<$n;$i++) //$result->field为数据库返回结果,数组值
{
$tmp = $result->field[$i]['id'] ;
if (!empty($tmp))
{
$com = $objDataSet->WhileList("select id,name from company where id in ($tmp)");
if (count($com->field) > 0)
{
$com = '';
$com_id = '';
foreach ($user->field as $v) //本行报错!,请大家帮忙解释一下。
{ $com.= "".$v['name']." ";
$com_id.= "".$v['id']." ";
}
$result->field[$i]['company']= $com; //$com敷值加入field属性,输出结果
}
}
}[[/PHP]
数据库中结果有10W条左右,报错
小弟新建个同样结构的数据表,结果100条左右,不报错。
本人分析不是程序代码书写错误,可能是数据量过大,服务器对于数组容量限制太小,或者数据中有非法数据造成。
在GOOGle中寻找,发现PHP-NUKE也有类似错误,
寻找结果发现
CODE: You get errors and warnings like: Warning: Invalid argument supplied for foreach() in ...mainfile.php on line 42 Warning: Invalid argument supplied for foreach() in ...mainfile.php on line 57 Warning: Cannot add header information - headers already sent by (output started at ...mainfile.php:42) in ...mainfile.php on line 165 You must have at least PHP v. 4.1.0 to run PHP-Nuke 6.5 and later. See Section 3.1 and Warning: Invalid argument supplied for foreach(). |
看来也可能是PHP版本的问题。
现在小弟迷糊了,请问各位,这样的问题是如何产生的,如何解决呢?

