- ベストアンサー
SQL文を間違えたときにエラーを返す方法
MySQLからのエラーをブラウザ上に表示させる方法というのはあるのでしょうか? MySQLのエラーのあたりを読んでみてもよくわからなかったので、何卒宜しくお願いしますm(_ _)mペコリ 構成は FedoraCore 4 MySQL 4.1.14 PHP 5.0.4 を使ってます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>#1 >下手をすると悪意のユーザーにサーバーのデータを >みな消されるような甘い作りだといわざるを得ません。 エラーを表示させると、はたしてデータが消されるモノでしょうか? ブラウザの入力に応じて、SQL文を発行するような仕組みであるなら、 充分な入力チェックを行う必要はありますし、素直にエラーを表示すると 良くないと思いますが、質問には、ブラウザからそういった入力するとは、 書いていませんし・・、”エラー表示=ダメ”とは限らないのでは? 暴走しないためのガードとして、適切なエラーハンドリングは必要かと 思うので、そういう意味では、全く問題のない質問だと思いますが? 本題ですが・・ SQLレベルのエラーについてだけなら・・ PHPのマニュアルにあるようなエラーハンドリングで良いと思いますが? (例では、SQL文も出してしまうので、表示する情報は考える必要があるけど) $result = mysql_query($query) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $query . "<br />\nError: (" . mysql_errno() . ") " . mysql_error()); なお、#1で書かれているように、何でもかんでも、ブラウザに出すとか、 アタック・クラックの助けになるような表示は行わないように、考えないと いけません。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
質問の内容自体に大きな問題を含んでいます。 PHPをかましているする作業で、MySQLからエラーが かえるとなると、深刻な状況です。 下手をすると悪意のユーザーにサーバーのデータを みな消されるような甘い作りだといわざるを得ません。 エラーになりそうな場合をすべて想定して PHPで吸収するようにつくるのが順当だと思いますが
お礼
大変参考になりました。 諸問題があるようなので、エラー表示は開発時にだけ表示するように心がけます。 ありがとうございました。