章节
问答
课签
笔记
评论
占位
占位

PHP中的错误控制运算符

PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;

如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。

需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

任务

看看错误控制运算符的效果吧!

在右边编辑器的第2行输入一条指令“$conn = @mysql_connect("localhost","username","password");”,如图所示:

在右边编辑器的第2行输入一条指令“$conn = @mysql_connect("localhost","username","password");”,如图所示:

?不会了怎么办
  1. 每行语句结束要加上“;”哦;
  2. “@”标记写对咯木有;
  3. “mysql_connect”函数中的“_” 是下划线哦;
||
1
2
<?php
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最赞回答 / YIBOWAY
已解决,需要激活track_errors

最新回答 / qq_慕雪0346513
因为@屏蔽了报错信息啊

最赞回答 / Gra_vel
我的也没有,理解用法就可以了

已采纳回答 / 大力全
就是因为你的echo输出语句里面有那句话,而且这不是错误,你的结果是对的

最赞回答 / _joker丶
前面加上 “ ini_set('track_errors', 1);” 这句话

最新回答 / 阿岩思密达
我今天刚过去这里  也不知道 你可以百度试试  

最新回答 / 大力全
每个人报错的结果都不一样的,我是
mysql_connect(): No such file

最新回答 / 慕斯卡6397658
未正确配置php.ini文件造成的

最赞回答 / amacyan
我觉得是因为电脑里面有相应数据库和文件写的代码成功执行了,所以没有错误信息,就没有php_errormsg这个变量生成,然后生成了一个新的错误。

最赞回答 / qq_long妹_0
我的运行结果跟你一样,我觉得可能是因为老师的电脑里有相关的数据库,而我们的电脑没有,所以我们的代码出错的原因在于找不到这个文件。

最新回答 / qq_尛皛_0
ini_set('track_errors', 1); 这是什么意思?大佬

最新回答 / 笑阳不爱钱才
用文本文档 另存为 下面有个输出模式改为 ANSI  保存  然后 刷新页面  重新运行  应该就行了   就是编码模式冲突

最新回答 / 有为小青年丶
这个点叫连接运算符,将右参数附加到左参数后面所得的字符串
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言