2009-07-24 12 views
0

現在PHPでmysqlクエリを実行する機能があり、画面にエラーが表示された場合に表示されます。私は、それがクエリとエラーメッセージを表示するようにしようとしています$_SESSION['auto_id'] == 1と普通のユーザーはちょうどエラーがあるという素晴らしいメッセージを見るでしょうこのmysqlエラーを画面に表示するにはどうすればいいですか?

私はそれをしようとしましたが、私は午前

<?PHP  
    function executeQuery($sql) { 
     $result = mysql_query($sql) or die("<span style='FONT-SIZE:11px; FONT-COLOR: #000000; font-family=tahoma;'><center>An Internal Error has Occured. Please report following error to [email protected]<br><br>" . $sql . "<br><br>" . mysql_error() . "'</center></FONT>"); 
     return $result; 
    } 
?> 

は動作しません:

<?PHP 
    function executeQuery($sql) { 
     $result = mysql_query($sql) or die(" 
     <span style='FONT-SIZE:11px; FONT-COLOR: #000000; font-family=tahoma;'><center>An Internal Error has Occured. The error has been recorded<br>'</center></FONT> 
     if($_SESSION['auto_id'] == 1){ 
      echo = '<br>' . $sql . '<br><br>' . mysql_error() . " 
     } 
     "); 
?> 
+0

あなたがしている 'die'文字列が適切に(閉じ引用符が欠落しているもの)を引用していない – SilentGhost

+1

小脇:あなたは、おそらくより多くのこのような何かをしたいですか?そのメリットは、ブラウザにヒットする前にエラーを検出して、その方法で本番サイトできれいに処理できることです。 – Ali

+0

アリは何を言っていますか: "die()"を使うのは悪い練習とみなされます – Evert

答えて

2

die()に渡される文字列はブラウザに送られ、その中のPHPコードはそのままリテラル文字列として扱われ、解釈されません。あなたは死ぬ-INGのではなく、例外をスローすると考えられてきた、

<?PHP 
function executeQuery($sql) { 
    $result = mysql_query($sql); 
    if (!$result) { 
     $error = "<span style='FONT-SIZE:11px; FONT-COLOR: #000000; font-family=tahoma;'><center>An Internal Error has Occured. The error has been recorded<br>'</center></FONT>"; 

     if($_SESSION['auto_id'] == 1){ 
      //append mysql error to string we are about to output 
      $error .= '<br>' . $sql . '<br><br>' . mysql_error() ; 
     } 
     die($error); 
    } 
    return $result; 
} 
+0

時々、心を落ち着かせる – JasonDavis

1

てみ内部のコードを正しく解析したり(」「)

作品を死ぬ方法がわかりません代わりに、後mysql_queryこれをやって:

if(mysql_error()) 
{ 
    // Do Stuff 

    if($_SESSION['auto_id'] == 1) 
    { 
    // Do More Stuff 
    } 
die(); 
} 

をこれは、あなたが影響を与える同じことを達成することを可能にし、同様にあなたのエラーをフォーマットします。

あなたの声明がうまくいかない理由について:引用符の中にIfが実行されていない。

関連する問題