我正在使用phpInv
<{3>} http://alex.piechowski.org/inventory。登录名=管理员/ phpinv我不断收到“PHP警告:传递给每个()的变量不是数组或对象”
在entry_new.php的第38行
if ($itemid>0) {
--> while (list ($colid, $property) = each ($col)) { <--
$result = $DB->query("INSERT INTO ".$DB->tableprefix."property (itemid,colid,property) VALUES ('".str_prepare($itemid)."','".str_prepare($colid)."','".str_prepare($property)."')");
if (!$result) {
$errortext = "Error: property not created\n";
eval("\$table = \"".templateget('error')."\";");
}
}
请有人愿意提单和帮助我吗?我一直在工作几个小时,我似乎无法让它工作......
它正在接收一个已发布的数组。
答案 0 :(得分:2)
如果您尝试使用尚未初始化的变量,则会收到相同的警告
确保您尝试传递的变量($ col)存在且先不为null。您还应该确保没有拼错变量名称。
你应该尝试使用函数is_array($ col)来确保传递的变量确实是一个数组。
答案 1 :(得分:0)
我最近遇到了同样的问题。
我从一段时间前下载了一些来源,最终成了我的浏览器。
在所有输入都在之前,我的浏览器会自动关闭表单。
如果您使用的是Chrome,请尝试更改为Internet Explorer。
如果更改浏览器不起作用,请确保您获得所需的数据。
您可以使用以下方式检查所有发布的值:
if ($_POST) {
echo '<pre>';
echo htmlspecialchars(print_r($_POST, true));
echo '</pre>';
}