数据库代码 PHP网络编程:调试数据库处理错误
PHP网络编程:调试数据库处理错误
——此文章摘自《PHP网络编程典型模块与实例精讲》定价 ¥ 特价 ¥ 详细>>//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配置文件php ini中的显示提示信息的选项 即设置 display_errors = On 然后在程序中使用echo或print等输出语句打印出数据库的错误 示例如下
//develop csai cn/web/images/ gif >
以上在调用mysqli对象的query()函数执行SQL语句之后 判断执行结果是否正确 如果不正确则使用echo语句把执行错误显示出来 其中mysqli对象的error成员变量中保存了最近一次产生的数据库错误
将上面的代码保存成debug_db php并在浏览器中运行 结果页面会输出提示 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命令行程序 把复制的内容粘贴上去并执行(右击后在弹出菜单中选择 粘贴 ) 结果如图 所示
lishixinzhi/Article/program/PHP/201311/21410