SQLの処理に使用するユニバーサル関数があります。このエラーが発生します(1日に数回、頻繁ではありません)。
PHP Catchable fatal error: Object of class PDO could not be converted to string in...
基本的に、使用している関数には値の配列が渡されます。コードを挿入して、その配列にPDOオブジェクトを配置している必要があります。
変数がPDOオブジェクトであるかどうかをチェックするarray_filter関数を作成する必要があります。このための簡単なifステートメントを実行するにはどうすればよいですか?
if($var == PDO)
編集:素晴らしい答えをありがとう!誰かが興味を持っている場合のために、これが私が問題を解決した方法です。無効な入力がどこから来ているのかを見つけることができました。
$before=$original_array;
$after = array_filter($before, "find_error");
if(count($before)!=count($after)){
$error=print_r(debug_backtrace(false),true);
$arr=print_r($before,true);
send_message("admin@email.com","Error Report",$arr.$error);
//send_message is a simple function for sending emails. You could also write information to a txt file, etc.
}
function find_error($var){
return !($var instanceof PDO);
}