熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP網絡編程:調試數據庫處理錯誤

2013-11-15 12:41:12  來源: PHP編程 
    ——此文章摘自《PHP網絡編程典型模塊與實例精講》定價 特價  詳細>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

  第章中介紹了常見的數據庫連接錯誤的類型及其表現和解決方法在PHP數據庫編程中除了會碰見數據庫連接錯誤外更常遇見的是執行SQL查詢時發生的錯誤解決SQL語句錯誤的方法有二一是讓PHP顯示錯誤信息二是把最終執行的SQL語句顯示在網頁中然後復制到MySQL命令行程序中去執行讓MySQL本身來提示錯誤信息這兩種方法本質都是一樣的因為PHP本身並不會執行SQL語句它只是把 SQL語句發送給MySQL讓MySQL來執行並獲取執行結果所以PHP顯示的提示信息也是從MySQL數據庫中得到的

  要讓PHP顯示SQL語句的執行錯誤首先要打開PHP配置文件phpini中的顯示提示信息的選項即設置display_errors = On然後在程序中使用echo或print等輸出語句打印出數據庫的錯誤示例如下

http://developcsaicn/web/images/gif>

  以上在調用mysqli對象的query()函數執行SQL語句之後判斷執行結果是否正確如果不正確則使用echo語句把執行錯誤顯示出來其中mysqli對象的error成員變量中保存了最近一次產生的數據庫錯誤

  將上面的代碼保存成debug_dbphp並在浏覽器中運行結果頁面會輸出提示Unknown column username in where clause這樣就知道了錯誤的產生是因為在SQL語句中把字段名f_username誤寫成了username把字段名改正過來即可解決問題

  在MySQL命令行中執行SQL語句查看錯誤可以得到相似的錯誤提示信息將上面代碼中echo $db>error;語句改成echo $sql; 重新執行以後頁面中會輸出SELECT * FROM t_user WHERE username=zhangsan將該SQL語句復制下來然後按第章介紹的方法打開MySQL命令行程序把復制的內容粘貼上去並執行(右擊後在彈出菜單中選擇粘貼)結果如圖所示

http://developcsaicn/web/images/jpg>
在MySQL命令行中調試執行SQL錯誤


From:http://tw.wingwit.com/Article/program/PHP/201311/21410.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.