PHP和MySQL中何时使用'@'运算符[重复]
Posted
技术标签:
【中文标题】PHP和MySQL中何时使用\'@\'运算符[重复]【英文标题】:When is the '@' operator used in PHP and MySQL [duplicate]PHP和MySQL中何时使用'@'运算符[重复] 【发布时间】:2012-07-26 22:22:19 【问题描述】:可能重复:What is the use of @ symbol in php?PHP functions and @functionsWhat does the “@” symbol do in SQL?
在浏览本网站上的在线资源/问题(包括代码)时,我经常会遇到“@”运算符。
在我看到的 PHP 代码中,@ 运算符通常出现在诸如 @fread()
之类的方法之前。但是,从代码的外观来看,无论是否在方法前面使用或不使用“@”来调用 fread()
,实际上并没有什么区别。
在 mysql 代码中,@ 运算符通常出现在列/字段名称之前。我相信 @ 用于访问用户在某个时候手动实例化的默认变量,类似于 PHP 中的 env
变量。
请您告诉我我的假设是否正确,如果不正确,何时以及为什么应该使用“@”符号或运算符?
谢谢,
最大。
【问题讨论】:
这是两个不同的问题。 【参考方案1】:在 PHP 中,这意味着禁止此函数引发的任何通知/警告,例如 mail()
在发送失败时会抛出错误。你可以这样做
$Success = @mail(...)
抑制错误并自己处理成功/失败。有关详细信息,请参阅Error Control Operator 页面。
在 MySQL 中,@
用于前缀 user-defined variables
【讨论】:
【参考方案2】:在 PHP 中,@ 符号表示该表达式可能生成的任何错误消息都将被忽略。
在 MySQL 中,名称前的 @ 表示本地的、用户定义的变量。
【讨论】:
以上是关于PHP和MySQL中何时使用'@'运算符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
何时在 mysql 中使用 TEXT 而不是 VARCHAR [重复]
何时在 PHP 应用程序中使用 Redis 而不是 MySQL?