2013-02-15 2 views
1

mysqli 기능을 사용하여 MySql 데이터베이스와 상호 작용하는 php를 사용하는 웹 페이지가 있습니다. MySql 및 PHP에서 모든 오류 메시지를 표시하지 않고 추적 및 기록을 위해 이러한 오류를 데이터베이스에 기록하고 싶습니다. 분명히 사용자가 볼 수있는 MySql 쿼리를 표시하고 싶지는 않지만 사용자 지정 메시지가 필요합니다. "서버 오류 : 다시 시도하십시오"와 같은 것입니다.PHP Mysqli 사용자 정의 오류 메시지

내 사이트에이를 구현할 수있는 방법이 있습니까?

+0

기존 코드를 올리십시오. 끔찍한 컨벤션'do_thing()이나 die (mysql_error()); '와 같은 일을하는 경우 해결책은하지 말고 성공/실패 여부를 테스트하고 의미있는 메시지를 최종 사용자에게 반환하는 것입니다. –

답변

1

다음은 사용자의 오류 메시지를 해결하는 데 도움이되는 예제입니다.

<?php 
mysqli_report(MYSQLI_REPORT_OFF); //Turn off default messages 

$mysqli = new mysqli("localhost", "user", "password", "database"); 

$query = "SELECT * FROM Table "; 
$res = $mysqli->query($query); 

if ($mysqli->error) { 
    try {  
     throw new Exception("MySQL error $mysqli->error <br> Query:<br> $query", $msqli->errno);  
    } catch(Exception $e) { 
     // Log your error in db or just output it 
     // using $e->getMessage() to log the actual message; 
     echo nl2br($e->getTraceAsString()); 
    } 
} 

?>