——此文章摘自《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错误