——此文章摘自《PHP網絡編程典型模塊與實例精講》定價
¥
特價
¥
詳細>>
http://track
linktech
cn/?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