请问这两句 SQL 语句,有什么不同的功能吗?

初学额 2012-06-08 09:35:42
PHP文件里的2句

@mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");

mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");


就是多一个 @ 号,请问它们有什么不同吗? 不解
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jkin 2012-06-08
  • 打赏
  • 举报
回复
拜读了,受益匪浅。
初学额 2012-06-08
  • 打赏
  • 举报
回复
谢谢大家!
黄袍披身 2012-06-08
  • 打赏
  • 举报
回复
去掉@ 出现错误 die 之后将错误信息写入日志文件,以便排错.
myl315824 2012-06-08
  • 打赏
  • 举报
回复
@是屏蔽错误信息
建议:测试的时候不要用,这样有利于检查错误和发现问题,
如果项目投入使用,建议加上这个,这样,出现错误信息就
不会影响用户的使用!
  • 打赏
  • 举报
回复
@ 错误控制符,屏蔽错误信息。
在代码中一般不加@,在执行sql时,最好这样写:

$sql="select * from table where dqs='{$dqs}'";
$res = mysql_query($sql);
if(!$res)
die("SQL:{$sql}<br>Error:".mysql_error());
if(mysql_affected_rows() > 0){
$arr = array();
while($rows = mysql_fetch_array(MYSQL_ASSOC)){
array_push($arr,$rows);
}
}else{
echo "查询失败<br>Error:".mysql_error();
}

便于查找错误出处,以及时修改。
yishiwucheng 2012-06-08
  • 打赏
  • 举报
回复
只是屏蔽错误而已
蓝色的雨哎 2012-06-08
  • 打赏
  • 举报
回复
@ 不显示错误信息
错误抑制符。 mysql_query 如果他出现错误 @会把它屏蔽掉,不会显示错误。
我在开发项目都不加,一般都有错误处理的基类。
LuciferStar 2012-06-08
  • 打赏
  • 举报
回复
有了@后,如果mysql_query执行异常抛出出错信息,会被屏蔽不显示。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧