2013-01-13 33 views
1

我正在使用phpInv如何解決「PHP警告:傳遞給每個()的變量不是數組或對象」?

on 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')."\";"); 
        } 
       } 

會有人請願意提供D/L並幫助我?我一直在這個工作時間,我似乎無法得到它的工作...

它正在接收張貼數組。

+2

您可以使錯誤消失,通過測試,如果你有一個數組。或者找出爲什麼你的前面的代碼(你沒有顯示)沒有在你的'$ col'變量中傳遞所需的數組。 – mario

+0

我沒有陣列。 – user1973551

+0

但是,如果你看看我的表單,我會發布我的數組。 – user1973551

回答

0

我最近有同樣的問題。

我從前一段時間下載了一些源代碼,最終成爲我的瀏覽器。

我的瀏覽器自動關閉窗體之前所有的投入均。

嘗試,如果你使用的是Chrome改變到Internet Explorer。

如果更改瀏覽器無法正常工作,請確保您甚至可以獲取所需的發佈數據。

您可以檢查所有張貼選項:按

if ($_POST) { 
    echo '<pre>'; 
    echo htmlspecialchars(print_r($_POST, true)); 
    echo '</pre>'; 
} 
+0

哇,重大id10t錯誤。用上面的代碼檢查後,我看到在鉻(我的常規瀏覽器)它沒有發佈。 IE瀏覽器能夠發佈,但是。我發現這個問題。我會看更多,但你能回答我的問題。謝謝。對不起,我的問題雖然不能幫助社區。 – user1973551

2

,如果你嘗試使用尚未初始化你會得到同樣的警告

確保您嘗試通過($ COL)變量存在,並且不爲空,第一次的變量。你也應該確保你沒有拼錯變量名稱。

你應該嘗試使用函數is_array($ col)來確保傳遞的變量確實是一個數組。

相關問題