PHP初學者最常遇到的8個錯誤及解決方法

03ngnntds發表於2019-04-26

PHP由於即可以程式導向也可以物件導向開發,被廣泛認為是最容易學習的程式語言。在原始碼時代的全棧學科,PHP被作為全棧的後端語言。初學者在學習程式語言往往是從程式導向開始的,這樣更容易理解。但是在學習PHP的過程中時常會遇到各種報錯,全是英文,對於英文基礎差的同學會很不友好。

本篇為大家收集了初學者最常遇到的8個報錯,併為大家提供對應的解決思路。

錯誤一:Parse error: syntax error, unexpected …

PHP初學者最常遇到的8個錯誤及解決方法

這種錯誤是PHP解析器在解析時遇到了語法錯誤,直譯為:

解析錯誤:語法錯誤,意料之外的…

通常是我們在寫程式碼時,語法格式不對,比如:每一條語句都應當以英文分號結束,如果不寫分號,或打成了中文分號,就會報這樣的錯誤。這個錯誤還會在很多語法不正確的地方報錯出現。

錯誤二:Fatal error: Uncaught Error: Call to undefined function…

PHP初學者最常遇到的8個錯誤及解決方法

程式碼在執行時遇到了致命錯誤,直譯為:

致命錯誤:未捕獲錯誤:呼叫了未定義的函式…

遇到這個錯誤其實非常好解決,因為這個提示非常明顯,就是看後面報錯在第幾行,找到這一行,仔細檢視這一行中所使用的函式名字是否寫錯。 解決思路:既然提示呼叫了未定義的函式,就是說函式名無法識別,那肯定是寫錯函式名或自定義函式真的沒定義。

錯誤三:Notice: Array to string conversion in…

PHP初學者最常遇到的8個錯誤及解決方法

這個錯誤是初學者最容易遇到的,只是一個提示錯誤,級別非常低,不影響整個程式碼的執行。出現 Parse error或Fatal error 時PHP程式會中斷執行。

錯誤提示可以理解為提示:陣列在第…行轉換成字串

一般是由echo後面輸出一個陣列時導致的,也可能是陣列作為字串進行拼接運算時導致的。因為PHP是弱型別程式語言,在運算時會自動根據環境需要轉換資料型別。解決辦法就是找到提示的那一行,將陣列提前處理好以後再進行字串運算即可。

錯誤四:Parse error: syntax error, unexpected ‘1’ (T_LNUMBER), expecting variable …

PHP初學者最常遇到的8個錯誤及解決方法

當出現PHP無法解析的語法錯誤時會提示這個,unexpected是意料之外的…,後面還有提示expecting是指希望出現… 。一般在變數名、函式名等取名不符合命名語法規範時會報這個錯。 解決辦法就是仔細看報錯的行命名是否正確。

錯誤五:Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given …

PHP初學者最常遇到的8個錯誤及解決方法

這個錯誤是一個警告錯誤,也不影響程式的執行。通常出現在資料庫讀取結果集資料時,初學者比較難找到錯誤的解決辦法,因為根據無法透過提示所在行找出錯誤。

直譯為:

警告:mysqli_fetch_assoc函式期望引數1是mysqli的結果集,但是給了一個布林值。

也就是說當我們寫好SQL語句從資料庫讀取資料時,本身應該返回結果集,再給結果集中讀取資料。但是,結果集卻是一個布林值,所以反推出極有可能是SQL語句寫錯了,導致執行出錯,結果集就成了執行結果false。

解決辦法:仔細檢查SQL語句,最好是將拼接好的SQL語句輸出出來看看,確認沒問題再提交到伺服器執行。

錯誤六:Notice: Undefined variable:…

PHP初學者最常遇到的8個錯誤及解決方法

直譯為:提示:未定義變數a

當使用了一個未定義的變數時,會報這個錯,只需要仔細檢查變數的定義或拼寫正確即可解決。

錯誤七:Notice: Undefined index: username in …

PHP初學者最常遇到的8個錯誤及解決方法

直譯為:提示:未定義的索引:username

通常在使用了一個未定義的陣列元素時會出現,PHP中有一種特殊的關聯陣列,可以使用鍵名訪問值,在提示是也按索引陣列的方式提示,所以容易造成初學者誤解。 解決辦法就是仔細檢視是不是陣列鍵名是否寫錯或未定義。

錯誤八:亂碼

PHP初學者最常遇到的8個錯誤及解決方法

當看到網頁上顯示一段看不懂的符號、亂糟糟的繁體字或問號時,我們稱為亂碼。這是由於PHP生成HTML程式碼時的字符集與瀏覽器預設展示的字符集不相同導致的。

解決辦法:

在PHP程式碼的最頂部(任何輸出語句之前)加響應頭宣告字符集:

PHP初學者最常遇到的8個錯誤及解決方法

本篇一共給大家總結了8個常見的PHP報錯資訊,對於高手或許並沒有什麼用,但是我們還是需要照顧一下初學的同學,希望會對廣大初學者有幫助。其它PHP的報錯有很多型別,在物件導向中還有專門的異常類,對於錯誤直接當成異常進行丟擲與捕獲,這個我們下次再細說。

文章來源:搜尋引擎大全


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2642589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章