2012-07-15 3 views
1

MySQL 오류를 파일에 표시하는 대신 사용자에게 표시하는 방법은 무엇입니까? 여기PHP MySQL 쓰기 오류

if (!mysql_query($sql_query,$connection)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
echo "Success!"; 
+1

mysql_error()를 파일에 작성 해보십시오. 방법? php 파일 조작을 확인하십시오. – Gntem

답변

6

당신은 그것을 위해 PHP의 error_log function을 사용할 수 있습니다 ... 내가 지금까지있는 것입니다.

error_log("You messed up!", 3, "/var/tmp/my-errors.log"); 

편집 :이 같을 것이다 귀하의 경우 있도록 표시하지 않을 경우 사망

if (!mysql_query($sql_query,$connection)) 
{ 
    error_log(mysql_error() . "\n", 3, "/var/tmp/my-errors.log"); 
} 
echo "Success!"; 
+0

모드 3은 자체적으로 줄을 끊지 않으므로'mysql_error()'와'\ n'을 잊지 마십시오. –

+0

@ 마이클 감사합니다. 내 질문을 편집했습니다 – RTB

0

첫째, 당신은 사용하지 말아야합니다 (if 문 내가 다른을 사용하지만) 다음 사용자에게 오류 메시지가 표시됩니다.

둘째, die를 사용하는 대신 오류 메시지를 파일에 기록해야합니다. 일부 로깅 라이브러리를 사용하는 경우 일부 로그에 오류를 출력 할 수 있습니다. 그렇지 않으면 PHP에서 파일 처리를 살펴볼 수 있습니다.

링크 - http://davidwalsh.name/basic-php-file-handling-create-open-read-write-append-close-delete

+0

그리고 mysql_error()를 사용하여 파일에 기록 할 오류 메시지를 가져와야합니다! – cyclotrojan

1

사용 error_log, 또는 fopen /에 fwrite/FCLOSE/등.

PHP에서 set_error_handler과 같은 오류 처리기를 자주 사용하고 trigger_error을 사용하면 모든 오류를 캡처하여 파일에 쓸 수 있습니다. 이것은 당신을위한 더 나은 대본일지도 모른다; 수많은 error_log()를 작성하는 대신 오류 처리기 함수를 작성한 다음 trigger_error를 사용할 수 있습니다.