请教这两句 SQL 语句,有什么不同的功能吗
程序员文章站
2022-05-06 22:29:16
...
请问这两句 SQL 语句,有什么不同的功能吗?
PHP文件里的2句
@mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");
mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");
就是多一个 @ 号,请问它们有什么不同吗? 不解
------解决方案--------------------
有了@后,如果mysql_query执行异常抛出出错信息,会被屏蔽不显示。
------解决方案--------------------
@ 不显示错误信息
错误抑制符。 mysql_query 如果他出现错误 @会把它屏蔽掉,不会显示错误。
我在开发项目都不加,一般都有错误处理的基类。
------解决方案--------------------
@ 错误控制符,屏蔽错误信息。
在代码中一般不加@,在执行sql时,最好这样写:
PHP文件里的2句
@mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");
mysql_query("UPDATE users SET s_abc=0 WHERE us='kuku'");
就是多一个 @ 号,请问它们有什么不同吗? 不解
------解决方案--------------------
有了@后,如果mysql_query执行异常抛出出错信息,会被屏蔽不显示。
------解决方案--------------------
@ 不显示错误信息
错误抑制符。 mysql_query 如果他出现错误 @会把它屏蔽掉,不会显示错误。
我在开发项目都不加,一般都有错误处理的基类。
------解决方案--------------------
@ 错误控制符,屏蔽错误信息。
在代码中一般不加@,在执行sql时,最好这样写:
- PHP code
$sql="select * from table where dqs='{$dqs}'"; $res = mysql_query($sql); if(!$res) die("SQL:{$sql}
Error:".mysql_error()); if(mysql_affected_rows() > 0){ $arr = array(); while($rows = mysql_fetch_array(MYSQL_ASSOC)){ array_push($arr,$rows); } }else{ echo "查询失败
Error:".mysql_error(); }
------解决方案--------------------
@是屏蔽错误信息
建议:测试的时候不要用,这样有利于检查错误和发现问题,
如果项目投入使用,建议加上这个,这样,出现错误信息就
不会影响用户的使用!相关文章
相关视频