2009-07-11 2 views
3

@ 전에 함수를 추가하는 것은 무엇을합니까? 나는왜 @ before functions

예를 몇 가지 스크립트에서 본 적이 : 그것은 함수 내에서 발생할 수있는 오류를 억제

$connect = @mysql_connect('localhost', 'root', 'password'); 
instead of 
$connect = mysql_connect('localhost', 'root', 'password'); 

답변

12

. Documentation here.

모든 것이 고려되었지만 일부 부적절한 버그가 발생할 수 있으므로 권장하지 않습니다.

+3

글쎄, 내 게시물을 개선하는 사람에게는 문제가 없지만 게시자가 내게 몇 분 안에 글을 올리면 완전히 좋지 않은 취향이다. –

+0

그것은 또한 느리다. 사용하지 마십시오. 거의 항상 다른 대안이 있습니다. – moo

0

이 PHP 문서에서의 오류 제어 연산자입니다 :

PHP는 하나의 오류 제어 연산자를 지원합니다 : 기호 (@)에서. PHP의 표현식 앞에 붙는 경우 해당 표현식으로 인해 생성 될 수있는 오류 메시지는 무시됩니다..

당신은 여전히 ​​전화를받을 것이다 다음 set_error_handler()와 사용자 지정 오류 핸들러 함수를 설정하지만, 오류를 발생시킨 호출이 @ 앞에 때 0을 반환하는이 사용자 지정 오류 처리기 (그리고해야한다) error_reporting()를 호출 할 수있는 경우 .

track_errors 기능을 사용하는 경우 식에 의해 생성 된 오류 메시지는 변수 $php_errormsg에 저장됩니다. 이 변수는 각 오류에서 겹쳐 쓰여 지므로 사용하려면 먼저 확인하십시오.