PHP初學者最常遇到的8個錯誤及解決方法
PHP由於即可以程式導向也可以物件導向開發,被廣泛認為是最容易學習的程式語言。在原始碼時代的全棧學科,PHP被作為全棧的後端語言。初學者在學習程式語言往往是從程式導向開始的,這樣更容易理解。但是在學習PHP的過程中時常會遇到各種報錯,全是英文,對於英文基礎差的同學會很不友好。
本篇為大家收集了初學者最常遇到的8個報錯,併為大家提供對應的解決思路。
錯誤一: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程式碼的最頂部(任何輸出語句之前)加響應頭宣告字符集:
本篇一共給大家總結了8個常見的PHP報錯資訊,對於高手或許並沒有什麼用,但是我們還是需要照顧一下初學的同學,希望會對廣大初學者有幫助。其它PHP的報錯有很多型別,在物件導向中還有專門的異常類,對於錯誤直接當成異常進行丟擲與捕獲,這個我們下次再細說。
文章來源:搜尋引擎大全
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2642589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- iOS路上遇到的錯誤及解決辦法iOS
- PHP開發中最常見的10個錯誤PHP
- ORACLE匯入遇到ORACLE錯誤959解決方法Oracle
- PHP中的Malformed UTF-8 characters錯誤解決PHPORM
- PHP程式設計中10個最常見的錯誤PHP程式設計
- java初學者常見的八大誤區及解決辦法Java
- PHP編譯錯誤及解決辦法PHP編譯
- PHP程式設計師最常犯的11個MySQL錯誤PHP程式設計師MySql
- C語言初學者最常問的幾個問題C語言
- Java初學者容易犯哪些錯誤?Java
- ORA-14452錯誤及解決方法
- IMP-00098 錯誤及解決方法
- PHP原始碼包編譯安裝錯誤及解決方法彙總PHP原始碼編譯
- Java初學者容易犯的程式碼錯誤Java
- PHP錯誤型別及遮蔽方法PHP型別
- Oracle 常見的錯誤問題及解決方法Oracle
- 升級到PHP5.4.3遇到的一個錯誤PHP
- mysql與php錯誤解決MySqlPHP
- go語言初學者常見錯誤Go
- 處理網頁圖片最常見的10個錯誤及其解決方案網頁
- ORA-00257 錯誤分析及解決方法
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- PHP檔案及執行(適合PHP初學者)PHP
- 程式設計師簡歷中最致命的「八個錯誤 」及解決方法程式設計師
- SVN 遇到的一些錯誤解決方案
- 資料庫連線錯誤的原因及解決方法資料庫
- php抓取https網址出現錯誤的解決方法PHPHTTP
- Java 中最常見的 5 個錯誤Java
- win10系統提示遇到錯誤需要重啟的解決方法Win10
- undefined reference to錯誤的解決方法Undefined
- PHP curl error 60 錯誤解決PHPError
- 目標板掛載NFS方法及錯誤解決NFS
- 【ora 錯誤及解決方法】ORA-01652
- ORA-01537 錯誤及解決方法
- 帝國CMS搬家常見錯誤及解決方法
- PHP & Linux: libsodium.so.23 錯誤解決方法PHPLinux
- git 遇到的錯誤以及解決方式(持續更新...)Git