相信不少和我一样的php新人在学习PHP的时候和我一样,都郁闷过这个问题。@(at)这个记号到底是做什么的呢?
一次,下载别人的源码来看,看到无数@记号,开始以为是注释;后来发现@后面的语句也是会执行的。纳闷了,这个记号究竟是做什么的呢.....
随着学习的不断深入,总算是明白了。这个记号的作用有点类似于asp中的忽略错误"on error resume next "。他们的作用是一样的,当php解释器遇到@开头的语句时候,无论本行的语句是否执行成功,都会继续执行后续的语句,而且不会报错。但特别注意,@(at)记号只对当前行起作用哦。
希望关于@(at)的问题就在这打住把。
eg.下面这句话肯定报错
报错代码
代码如下 | 复制代码 |
$sql = mysql_connect(*);
|
然而,如果我们加上@(at)记号,就不会报错了,而且继续执行。
不报错代码
代码如下 | 复制代码 |
@$sql = mysql_connect(*); |
继续执行下边的代码。
代码如下 | 复制代码 |
@$page=$_GET['page']?intval($_GET['page']):1; |
这句是从URL中获取page关键字的值,比如"index.php?page=5",则$page就会取到5。
但是如果有error,比如"index.php"后没有page关键字了,如果去取$_GET['page']不存在就会报错,这时有@就可以忽视这个小错误了。
又比如:
代码如下 | 复制代码 |
$conn = mysqli_conncet("q","w","e","r"); |
这样会输入错误信息,关于连接数据库方面的。
代码如下 | 复制代码 |
@$conn = mysqli_conncet("q","w","e","r"); |
如果$conn前面加@的话就可以不让他输出错误信息了。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver CS6
Visual web development tools