這篇文章主要講解了“PHP最常遇到幾個錯誤以及它們的解決方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP最常遇到幾個錯誤以及它們的解決方法”吧!
錯誤一:Parse error: syntax error, unexpected …
這種錯誤是PHP解析器在解析時遇到了語法錯誤,直譯為:
解析錯誤:語法錯誤,意料之外的…
通常是我們在寫代碼時,語法格式不對,比如:每一條語句都應當以英文分號結束,如果不寫分號,或打成了中文分號,就會報這樣的錯誤。這個錯誤還會在很多語法不正確的地方報錯出現。
錯誤二:Fatal error: Uncaught Error: Call to undefined function…
代碼在執行時遇到了致命錯誤,直譯為:
致命錯誤:未捕獲錯誤:調用了未定義的函數…
遇到這個錯誤其實非常好解決,因為這個提示非常明顯,就是看后面報錯在第幾行,找到這一行,仔細查看這一行中所使用的函數名字是否寫錯。 解決思路:既然提示調用了未定義的函數,就是說函數名無法識別,那肯定是寫錯函數名或自定義函數真的沒定義。
錯誤三:Notice: Array to string conversion in…
這個錯誤是初學者最容易遇到的,只是一個提示錯誤,級別非常低,不影響整個代碼的執行。出現 Parse error或Fatal error 時PHP程序會中斷執行。
錯誤提示可以理解為提示:數組在第…行轉換成字符串
一般是由echo后面輸出一個數組時導致的,也可能是數組作為字符串進行拼接運算時導致的。因為PHP是弱類型編程語言,在運算時會自動根據環境需要轉換數據類型。解決辦法就是找到提示的那一行,將數組提前處理好以后再進行字符串運算即可。
錯誤四:Parse error: syntax error, unexpected ‘1’ (T_LNUMBER), expecting variable …
當出現PHP無法解析的語法錯誤時會提示這個,unexpected是意料之外的…,后面還有提示expecting是指希望出現… 。一般在變量名、函數名等取名不符合命名語法規范時會報這個錯。 解決辦法就是仔細看報錯的行命名是否正確。
錯誤五:Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given …
這個錯誤是一個警告錯誤,也不影響程序的執行。通常出現在數據庫讀取結果集數據時,初學者比較難找到錯誤的解決辦法,因為根據無法通過提示所在行找出錯誤。
直譯為:
警告:mysqli_fetch_assoc函數期望參數1是mysqli的結果集,但是給了一個布爾值。
也就是說當我們寫好SQL語句從數據庫讀取數據時,本身應該返回結果集,再給結果集中讀取數據。但是,結果集卻是一個布爾值,所以反推出極有可能是SQL語句寫錯了,導致執行出錯,結果集就成了執行結果false。
解決辦法:仔細檢查SQL語句,最好是將拼接好的SQL語句輸出出來看看,確認沒問題再提交到服務器執行。
錯誤六:Notice: Undefined variable:…
直譯為:提示:未定義變量a
當使用了一個未定義的變量時,會報這個錯,只需要仔細檢查變量的定義或拼寫正確即可解決。
錯誤七:Notice: Undefined index: username in …
直譯為:提示:未定義的索引:username
通常在使用了一個未定義的數組元素時會出現,PHP中有一種特殊的關聯數組,可以使用鍵名訪問值,在提示是也按索引數組的方式提示,所以容易造成初學者誤解。 解決辦法就是仔細查看是不是數組鍵名是否寫錯或未定義。
錯誤八:亂碼
當看到網頁上顯示一段看不懂的符號、亂糟糟的繁體字或問號時,我們稱為亂碼。這是由于PHP生成HTML代碼時的字符集與瀏覽器默認展示的字符集不相同導致的。
解決辦法:
在PHP代碼的最頂部(任何輸出語句之前)加響應頭聲明字符集:
感謝各位的閱讀,以上就是“PHP最常遇到幾個錯誤以及它們的解決方法”的內容了,經過本文的學習后,相信大家對PHP最常遇到幾個錯誤以及它們的解決方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。