IT

PHP에서“do something OR DIE ()”는 작동 작동 중에 있습니까?

lottoking 2020. 8. 25. 08:21
반응형

PHP에서“do something OR DIE ()”는 작동 작동 중에 있습니까?


MySQL 데이터베이스에 액세스하기 위해 PHP 앱을 작성 중이며 안내에서 다음과 같은 형식을 나타냅니다.

mysql_connect($host, $user, $pass) or die("could not connect");

PHP는 함수가 실패하여 부분을 실행하는 것을 어떻게 알 수 있습니까? 나는 그것의 "또는"부분이 작동하는 것 같다. 전에 본 적이없는 것 같아요.


-th 명령문 첫 true이을 반환 하면 전체 명령문이되어야 true하므로 두-th 부분은 실행되지 않습니다.

예를 들면 :

$x = 5;
true or $x++;
echo $x;  // 5

false or $x++;
echo $x; // 6

따라서 쿼리가 실패하면 을 평가 하고 펼쳐야 합니다.die()


PHP 는 C와 대화하게 작동합니다 (부수적으로 PHP에서 지원됩니다. 더 많은 연산자 우선 순위가 처리 됩니다. 이 페이지 참조 ).or||or

로 알려진 그것은 단락 이 최종 값을 결정하기에 충분한 정보를 가지고 일단 어떤 평가를 건너 뛸 수 있기 때문에 운영자.

경우의 예에서, mysql_connect()반환 TRUE, 다음 PHP는 이미 전체 문장이 무엇인지에 상관없이 TRUE 평가 없다는 것을로 알고 die()에 evalutes, 따라서 die()평가되지 않습니다.

경우 mysql_connect()반환 FALSE, PHP는 평가로 진행하고 시도 때문에 전체 문이 TRUE 또는 FALSE로 평가할지 모르는 die()-그 과정에서 펼쳐보기를 종료합니다.

or작동 방식을 활용하는 멋진 트릭입니다 .


다른 사람들이 작동합니다.

PHP에서는 예외를 발생하지 않았거나 "die"를 사용하지 않습니다. 대신 처리 방식으로 예외를 처리합니다.

다이는 PHP에서 잡힐 수 있습니다. 대신 메시지를 비정상적으로 인쇄하고 아무에게도 알리거나 이벤트를 기록하고 재 시도 할 기회를주지 않고 즉시 종료합니다.


$con=mysql_connect($host, $user, $pass)
if(!$con)
{
     die("could not connect");
}
else
{
     echo "Connected";
}

참고 URL : https://stackoverflow.com/questions/432454/how-does-do-something-or-die-work-in-php

반응형