programing

내 sqli가 죽거나, 죽거나, 죽어야 합니까?

minimums 2023. 9. 20. 20:13
반응형

내 sqli가 죽거나, 죽거나, 죽어야 합니까?

이런 코드를 사용하면 다음과 같습니다.

$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));

죽어야 하나요 아니면 나중에 다른 질문을 할 수 있나요?오류의 로그를 다른 테이블에 쓰는 미리 정해진 함수처럼?예:

$update_result = mysqli_query( $link , $sql_update_login ) or function('$query, $error);

'또는' 다음에 다른 선택사항은 무엇입니까?서류에서 발견하지 못했는데, 단서가 있으면 감사하겠습니다.

죽어야 합니까?

정반대로, 절대로 그럴 일이 없습니다.
PHP는 유전이 나쁜 언어입니다.유전이 아주 나쁘네요. 그리고or die()error message는 가장 기본적인 것 중 하나입니다.

  • 다이는 오류 메시지를 던져 잠재적인 공격자에게 일부 시스템 내부를 드러냅니다.
  • 그러한 오류 메시지는 일상적인 사용자들을 혼란스럽게 합니다, 왜냐하면 그들은 그것이 무엇을 의미하는지 이해하지 못하기 때문입니다.
  • 게다가.die스크립트를 중간에 죽여서 사용자들이 작업할 익숙한 인터페이스가 없어져서 그냥 자퇴할 가능성이 높습니다.
  • 대본을 복구할 수 없을 정도로 죽입니다예외를 포착하고 우아하게 처리할 수 있습니다.
  • die()오류가 발생한 위치에 대한 힌트를 제공하지 않습니다.그리고 상대적으로 큰 애플리케이션에서는 발견하기가 상당히 어려울 것입니다.

그래서 절대 사용하지 마.die()MySQL 오류, 심지어 일시적인 디버깅의 경우에도: 더 나은 방법이 있습니다.

수동으로 오류를 확인하는 대신 연결 코드에 다음 줄을 추가하여 오류 시 예외를 허용하도록 mysqli를 구성합니다.

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

그리고 그 후에는 아무 것도 없이 모든 mysqli 명령을 그대로 적습니다.or die또는 기타:

$result = mysqli_query($link, $sql);

이 코드는 오류가 발생할 경우 예외를 적용하기 때문에 추가 코드가 한 줄도 없이 모든 문제를 항상 알게 됩니다.

당신의 코드를 훨씬 더 깨끗하게 만들면서 당신의 오류 보고 생산을 준비하고 통일하며 전체적으로 합리적이게 만드는 방법에 대한 더 자세한 설명은 PHP 오류 보고에 대한 나의 기사에서 찾을 수 있습니다.

or연산자일 뿐입니다(와 매우 유사함).||).

or die()구문이 작동하는 이유는orcircuits이 짧다는 건 첫 진술이 사실이라면True or X언제나 진실일 테니까요X평가도 안 되고 대본도 안 됩니다.die.

예, (또는) 다음에 다른 기능을 제공할 수 있습니다.다음 사항을 테스트했습니다.

mysqli_query($sel_db,'what!') or some_func(mysqli_error($sel_db));

function some_func($str) {
    die("ERROR: ".$str);
}

그럴 필요 없을 텐데.die()구체적으로 말하자면, 하지만 그것은 전화를 함으로써 대본을 멈추게 할 필요가 있습니다.exit()아니면die()요 같은 않으면 값도 널크)됩니다에서 값이 있음)$update_result 확실하게

언급URL : https://stackoverflow.com/questions/15318368/mysqli-or-die-does-it-have-to-die

반응형