php屏蔽数据库出错信息 php屏蔽数据库出错信息怎么解决

php怎么屏蔽warning诸如下面这些错误的提示:Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332有的时候代码的警告会导致整个项目无法运行php屏蔽数据库出错信息,比如某个变量无对象的情况,若无影响,这时如果屏蔽警告 , 就可以使整个项目恢复正常运行 。当然它的作用不在于这 , 而是在成品网站或做服务器时,不输出错误信息可以减少被黑客攻击的风险(对于一些容易出错并且容易暴漏敏感数据的代码 , 一般多在数据库这块吧),也能在出错的情况下仍保持网站的美观 。至于在调试下,那这个错误提示信息还是比较有用的,可以在PHP页面最前边加上一句: error_reporting(E_ALL~E_NOTICE);让出错时显示错误信息 。屏蔽的方法:
屏蔽PHP错误提示方法一、在有可能出错的函数前加@,然后or die("") 如: @mysql_connect(...) or die("Database Connect Error")
屏蔽PHP错误提示方法二、编辑php.ini,查找"display_errors =" , 将“=”后面的值改为"off 。
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示 。
例:
@$a = $b['a']; //忽略@后面语句的错误
$a = @$b['a']; //忽略@后面语句的错误,推荐使用这句 。因为错误是在$b这个数组中发生的,所以@符号在$b前就可以php屏蔽数据库出错信息了 , 这是错误真正发生的地方 。
php忽略sql错误,继续运行下面的代码使用try catch finally,把你的插入数据库的操作放在try中,然后把你要继续执行的代码放在finally中 。例如:
try {
//执行插入操作
} catch (Exception $e) {
// 捕捉异常,记录日志或其他的操作
print $e-getMessage();
} finally {
// 插入出错后继续执行的代码,如关闭数据库连接 , 返回给客户端错误信息等 。
}
关于PHP数据库查询出错的问题解决的几种方法:
修复错误的SQL语句,根据改变的环境进行修复
关闭错误提示,使用error_reporting(0);此句建议放在数据库连接脚本中,因为这样每个连接数据库的文件出错都可以不显示错误详情 , 更安全
在sql语句后加上or header('Location: /');实现302跳转到首页,header前不能有输出,如果有输出,请用ob_start()将输出内容加到缓冲区,再在最后用ob_end_flush()将缓冲区内容输出
遇到sql错误抛出异常,异常处理时加入header('HTTP/1.1 404 Not Found');仍然遵从3条前面不能有任何输出,404页面样式你用HTML写就可以 , 写在异常处理中
推荐使用方法2,最简单,遇到错误什么也不显示,但要根本解决还是应该采用第一种,从SQL上修改
如何让php mysql做的网页不显示任何mysql之类的错误信息??用
if()
将SQL语句包含起来php屏蔽数据库出错信息,如果有错误就不执行php屏蔽数据库出错信息;
例如php屏蔽数据库出错信息:
if($re=$mysqli-query("select
*
【php屏蔽数据库出错信息 php屏蔽数据库出错信息怎么解决】from
table")){
if($re-num_rows0){
while($row=$re-fetch_array(){
.......................
}
}
}
如果$mysqli-query
有错误php屏蔽数据库出错信息 , ,后边就都不执行,就不会有错误提示拉
php 中怎么拦截数据库异常sql语句问题是没有必要拦截的,如果把sql语句输出来让用户看到是件危险的事情,至于数据库或其他异常,可以参考set_error_handler(array('错误处理类', '方法')),然后建立一个自己的错误处理类和方法,自己对错我进行处理,上面的函数也能让php触发错误时自动调用
记得采纳啊
php屏蔽数据库出错信息的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php屏蔽数据库出错信息怎么解决、php屏蔽数据库出错信息的信息别忘了在本站进行查找喔 。

    推荐阅读