現在、PHP+MySQLのアプリを作成しております。
すべてのプログラムに、MySQLを実行しエラーが起きていた時に、自動でメール転送を行う処理を追加したいです。
今やろうとしているのはこんな形です。(実際に動かしてないため正しく動作するか分からないです;)
PHP
1$sql = "SELECT * FROM user"; 2$sth = $pdo -> prepare($sql); 3$sth -> execute(); 4error_get($sth->errorInfo()); 5 6//$sth->errorInfo()の中身 7 8//Array 9//( 10// [0] => 42S02 11// [1] => 1146 12// [2] => Table 'db_test.user' doesn't exist 13//) 14 15function error_get($err){ 16 //エラーがなかった時 17 if(empty($err[2])) return; 18 //メール送信 19 mail('example@gmail.com','SQLエラーが見つかりました。',$err[2])); 20}
このようにすればエラーが起きた際にメールが届きこちらに伝わるようになるのですが、
この方法ですと、SQLを実行するたびに、関数を挿入していかなければいけません。
管理しているすべてのサイトとすべてのプログラムに適用していかなければいけないため非常に工数がかかります。
他に$sth -> execute();を行うと同時に、上記のようなエラーが起きたらメールで通知するような処理を追加することができるかというのが今回の質問です。
PDOオブジェクトのexecuteメソッドの仕様に上記の処理を追加することができれば、可能だと思ったのですがそのようなことは出来ますでしょうか?
その他別の方法でもあれば教えて頂きたいですが、できれば上記のような、プログラムの書き換えは極力減らしたいです。
どなたかご教示のほど、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/28 00:13