2011-10-18 65 views
1

可能重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP array_push&array_pop錯誤

我專門爲那些誰讀過書的PHP對於初學者「(Apress出版,傑森Lengstorf)這個問題。 151頁上的嘗試例如,當我得到錯誤:

function.inc.php:

array_push($e, $fulldisp); 
return $e; 

的index.php:

$fulldisp = array_pop($e); 

您可以在這裏查看完整的代碼 - http://pastebin.com/bpjAbguM

和瀏覽器報錯:

Warning:array_push()期望參數1是數組,布爾在第43行給出的C:\ xampp \ htdocs \ simple_blog \ inc \ functions.inc.php

警告:array_pop()期望參數1是數組在C定的boolean:\ XAMPP \ htdocs中\ simple_blog \的index.php上線16

+1

'''$ e'''不是陣列 - 我認爲你需要從錯誤中向後工作,做的'''$ e'''了'''var_dump'''所以你可以看到它包含的內容以及它的設置位置。 – JoLoCo

+0

你應該'的var_dump($ E)'和'的var_dump($ fulldisp)',看看那裏有什麼 – user973254

+0

只是讀錯誤可以給你一個很大的伏筆,因爲你是一個初學者,我會習慣閱讀的錯誤,並試圖弄清楚什麼是錯的。 –

回答

0

在功能到位線$ e的開始=陣列(),以確保$ e是始終陣列。

+0

對不起的人,這裏的代碼 - http://pastebin.com/jWRRt4Cy不是一個在答案。 – Zhaf

+0

我已更新答案 – Novakov

+0

感謝您的回答! – Zhaf

0

您的查詢設置錯了,你應該綁定參數在您執行調用,然後調用execute()和$ E不應該被設定爲取爲的結果會返回一個布爾值,而不是一個數組你正在期待。

0

我見多發膏,但在貼http://pastebin.com/bpjAbguM你應該改變線47

$e = $row; 

$e[] = $row; 

第一條語句assignes行至$ E,而第二個語句添加的行到數組$ e。