亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

易于引發PHP代碼錯誤的簡單概念

2020-03-24 18:20:08
字體:
來源:轉載
供稿:網友
簡述:我們編寫程序時,無論怎樣小心謹慎,犯錯總是在所難免的。這些錯誤通常會迷惑PHP編譯器。如果開發人員無法了解編譯器報錯信息的含義,那么這些錯誤信息不僅毫無用處,還會常常讓人感到沮喪。 我們編寫程序時,無論怎樣小心謹慎,犯錯總是在所難免的。這些錯誤通常會迷惑PHP編譯器。如果開發人員無法了解編譯器報錯信息的含義,那么這些錯誤信息不僅毫無用處,還會常常讓人感到沮喪。 編譯PHP腳本時,PHP編譯器會盡其所能報告它遇到的第一個問題。這樣就產生一個問題:只有當錯誤出現時,PHP才能將它識別出來(本文后面對此問題進行了詳細描述)。正是由于這個緣故,編譯器指出出錯的那行,從表面上看來可能語法正確無誤,或者可能是根本就不存在的一行! 更好地理解錯誤信息可以大大節省確定并改正錯誤內容所花費的時間。因此,在本文中,我將努力闡明多種不同類型的PHP報錯信息,以及在開發過程中如何正確理解各種報錯信息的含義。 本文中所講述的內容與您所應用的PHP的版本無關,因為本文所描述的各種錯誤并不限定于某一特殊版本的特定錯誤。另外我們假定您是一位初級或者中級程序員,并已經從事編程工作有半年或一年的時間。編譯器的工作方式 要搞清楚編譯器為什么會報告某一行上存在錯誤,首先必須明確編譯器解析PHP代碼的機制。我并不打算在本文中對此進行詳細論述,但是,我們將會討論一些更易于引發錯誤的簡單概念。 變量聲明 如果在一條語句中聲明一個變量,具體方式如下所示: $variable = 'html' target='_blank'>value'; 編譯器首先求出語句右半部分的值(即等號右邊的所有內容)。在一些編程書籍中,將此表示為語句的 RHS (右半部分)。恰恰正是語句的這一部分常常會引發錯誤。如果使用的語法不正確,就會出現解析錯誤。 解析錯誤 Parse error:解析錯誤,unexpected T_WHILE in c:/program files/apache group/apache/htdocs/script.php on line 19 每次確定了前一錯誤時,解析錯誤一個接一個地不斷出現。因為PHP在第一個解析錯誤之后就停止執行腳本,調試并糾正這一系列的錯誤往往會讓人覺得特別厭煩。 而且,解析錯誤具有很少的信息,幾乎不報告錯誤所在的行號。具體原因就是當出現錯誤時,編譯器判定好幾行的語法看起來應該是有效的,直至遇到無效的語法,最可能的情形就是表達式中使用了預定義的字詞,例如; while = 10; // Bad ? while 就是一個預定義字詞,不能分配給一個值 預定義的字詞包括 while、function等,如果PHP使用 uses to evaluate your code. 您不能使用這些預定義字詞來命名變量,而且如果您非要這樣做的話,PHP就會報出更多的錯誤,這是您無法忍受。 關于這個問題,下面的示例可能會對您有所幫助。請咨詢閱讀一下下面所示的PHP 代碼: $b = somevalue if($b == somevalue ){ print Hello world! } ? 錯誤位于 $b = 一行(在語句的末端缺少分號),所以錯誤應該是 解析錯誤:第3行缺少分號 對吧?而不應該依據解析器判定的: Parse error: parse error, unexpected T_IF in c:/program files/apachegroup/apache/htdocs/ereg2.php on line 4 在第4行,if() 語句的語法是正確的。那么,編譯器是被什么給搞糊涂了呢?線索就是 unexpected T_IF 部分。出現 unexpected T_??? 錯誤時,它所表示的含義為:編譯器發現在預定義字不應該出現的位置出現。T_IF 代表 if(), T_WHILE 代表 while(), T_FOR 代表 for()等。 值得慶幸的是,一些錯誤的原因也很簡單: 語句沒有使用分號(;)結束,比如上面的示例。字符串中缺少引號。 其他一些常見的錯誤 我見過的最常見的錯誤就是,當沒有使用大括號( } )結束一個函數或者一個循環時出現的錯誤,這很可能是最常見,最讓人煩的錯誤。具體代碼如下: function UselessFunction() { for($i $i $i++){ } 將產生下列錯誤: Parse error: parse error, unexpected $ in c:/program files/apache group/apache/htdocs/ereg2.php on line 9 由于函數 UselessFunction 沒有使用大括號( } )來結束,PHP編譯器不斷查找表示結束的大括號直至到達文件末尾為止。因為編譯器未找到一個匹配的大括號,就會報告文件末尾處有錯誤。
如果正確地反映了代碼的層次結構,錯誤信息就會變得非常明顯。如果沒有標明代碼的層次結構,那么最后要想查清楚到底忘記了什么也會變得幾乎是不可能的。所以,請記住,一定要標明代碼的層次結構。Tab鍵可以很容易地實現這一點。對后續的開發人員來說,把握代碼框架并對其進行修改也會更容易一些。 MySQL 錯誤 另一極其令人討厭的錯誤信息就是最常見的MySQL錯誤,這常常使 PHP新手感到頗為頭疼: Warning: Supplied argument is not a valid MySQL result resource in... 上面所報告有錯的一行可能是: while($row = mysql_fetch_array($result)) { 參數 $result并不是一個有效的資源。在英語中它表示因為查詢失敗,將無法處理mysql_fetch_array。任一查詢的語法無效(您應該將查詢復制-粘貼到MySQL 控制臺參考來進行測試),或者與數據庫的連接失敗(這種情況下您應該再次檢查用戶名和口令等)。 防止錯誤發生 第一步,智能代碼器可采取以下幾步來消除下列錯誤出現: 在每一條語句的末尾處,不必考慮添加分號 這應該成為一種習慣。 總是要盡可能標明代碼的層次結構,這可以使您能夠查看是否忘記在if 調用或函數末端等位置添加大括號。 請使用可突出顯示語法的編輯器(如 HTML-Kit)。有了這類編輯器的輔助,您就能確定是否忘記了添加引號,是否缺少分號等。 結論 本文我們對PHP編譯器可報出的一些看起來可能沒有什么意義的錯誤有了一定的了解。我們需要將所學的知識應用到如何避免錯誤以及錯誤出現時如何糾正錯誤。調試是一個開發人員所有工作中的最重要的部分之一。提高調試效率可大大加快整個工作的進度,縮短完成一項工程所需花費的時間,同時還可以明顯減輕代碼失敗所帶來的精神壓力。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产高清视频一区三区| 亚洲午夜久久久久久久| 美女久久久久久久久久久| 91网站免费看| 九九热这里只有在线精品视| 欧美性猛xxx| 欧美激情精品在线| 有码中文亚洲精品| 欧美精品亚州精品| 国产99久久精品一区二区 夜夜躁日日躁| 欧美精品激情视频| 亚洲性视频网站| 久久久亚洲国产| 成人观看高清在线观看免费| 久久久久亚洲精品成人网小说| 2025国产精品视频| 国产精品一区二区三区免费视频| 亚洲护士老师的毛茸茸最新章节| 九九综合九九综合| 久热精品视频在线免费观看| 91在线高清视频| 不用播放器成人网| 欧美大片在线看免费观看| 精品国内产的精品视频在线观看| 亚洲成人黄色在线| 97视频在线观看免费| 国产精品美女久久久久av超清| 欧美日本在线视频中文字字幕| 国产一区二中文字幕在线看| 欧美日本啪啪无遮挡网站| 欧美国产极速在线| 午夜精品久久久久久99热| 欧美国产日韩精品| 日韩在线资源网| 秋霞av国产精品一区| 色综合久久久888| 国产日韩视频在线观看| 国产视频亚洲精品| 久久五月天色综合| 国产精品香蕉在线观看| 日韩亚洲精品电影| 欧美xxxwww| 91九色综合久久| 不卡中文字幕av| 亚洲欧美自拍一区| 日韩美女在线播放| 亚洲精品久久久久久久久久久| 国产精品9999| 精品国产91久久久久久老师| 欧美精品制服第一页| 国产精品免费久久久| 欧美二区乱c黑人| 欧美日韩人人澡狠狠躁视频| 亚洲视频欧美视频| 欧美片一区二区三区| 91麻豆国产语对白在线观看| 国产精品日日摸夜夜添夜夜av| 精品亚洲精品福利线在观看| 亚洲激情视频网| 国产日韩综合一区二区性色av| 91精品国产亚洲| 日韩毛片在线看| 丝袜亚洲另类欧美重口| 91色琪琪电影亚洲精品久久| 丝袜情趣国产精品| 国产91成人在在线播放| 青草成人免费视频| 精品国产一区二区三区久久| 亚洲福利影片在线| 国产丝袜一区视频在线观看| 亚洲变态欧美另类捆绑| 亚洲欧美中文日韩在线v日本| 亚洲成人久久一区| 久久久久久91| 亚洲欧美国产高清va在线播| 97国产精品视频人人做人人爱| 色yeye香蕉凹凸一区二区av| 中文字幕精品在线| 青青草国产精品一区二区| 日韩国产高清污视频在线观看| 都市激情亚洲色图| 欧美日韩在线看| 亚洲人成电影网站色| 亚洲精品大尺度| 最近2019中文免费高清视频观看www99| 欧美国产欧美亚洲国产日韩mv天天看完整| 韩剧1988在线观看免费完整版| 日韩精品久久久久| 日韩av在线最新| 久热精品视频在线观看| 成人久久一区二区三区| 国产精品久久激情| 久久国产精品免费视频| 亚洲成av人片在线观看香蕉| 国产在线高清精品| 精品久久久久久久久久久| 国产成人精品亚洲精品| 国产精品久久9| 伊人久久免费视频| 精品在线观看国产| 精品国产拍在线观看| 欧美插天视频在线播放| 欧美老少做受xxxx高潮| 色综合老司机第九色激情| 午夜剧场成人观在线视频免费观看| 国产精品三级网站| 成人性生交大片免费看视频直播| 日韩一区二区在线视频| 欧美xxxx做受欧美| 少妇高潮 亚洲精品| 日韩在线观看网址| 日韩中文字幕精品视频| 日韩av理论片| 日韩精品在线观| 国产欧美精品va在线观看| 久久综合网hezyo| 日韩色av导航| 久精品免费视频| 黑人狂躁日本妞一区二区三区| 久久视频在线播放| 日本韩国在线不卡| 成人中文字幕在线观看| 精品亚洲va在线va天堂资源站| 日韩高清电影好看的电视剧电影| 爱福利视频一区| 国产视频自拍一区| 日本成人在线视频网址| 国产日韩精品在线| 国内成人精品一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲一区二区三区四区视频| 日韩在线视频一区| 久久久午夜视频| 亚洲国产中文字幕久久网| 亚洲国产精品悠悠久久琪琪| www.亚洲一二| 中文综合在线观看| 精品无码久久久久久国产| 亚洲人精品午夜在线观看| 国产精品免费视频久久久| 激情av一区二区| 在线观看欧美视频| 91久久久精品| 国产视频精品在线| 日韩免费视频在线观看| 色妞在线综合亚洲欧美| 国产在线观看不卡| 在线电影av不卡网址| 亚洲人成电影网站色xx| 欧美日韩免费一区| 亚洲一区二区日本| 欧美裸体xxxx极品少妇| 亚洲专区在线视频| 91在线|亚洲| 性日韩欧美在线视频| 国产拍精品一二三| 国产欧美一区二区三区久久人妖| 亚洲欧美中文日韩v在线观看| 97国产成人精品视频| 亚洲成人av中文字幕| 国产精品免费观看在线| 久久成人人人人精品欧| 麻豆国产精品va在线观看不卡| 456国产精品|