> 백엔드 개발 > PHP 튜토리얼 > 请教这两句 SQL 语句,有什么不同的功能吗

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

WBOY
풀어 주다: 2016-06-13 13:28:06
원래의
933명이 탐색했습니다.

请问这两句 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}<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();
}
<br><font color="#e78608">------解决方案--------------------</font><br>@是屏蔽错误信息<br>建议:测试的时候不要用,这样有利于检查错误和发现问题,<br>如果项目投入使用,建议加上这个,这样,出现错误信息就<br>不会影响用户的使用! <div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿