私は非常に複雑なシステムを持っており、クエリを実行するたびに MySQLi 接続を開閉していましたが、特定の操作ごとに約 40,000 回実行していました (非効率的です)。このオープンとクローズの繰り返しの非効率性を防ぐために、関数間で mysqli 接続を渡すことにしました。
debug_backtrace()
私の問題は、クエリが失敗したときに、読みやすい形式でフォーマットされた を自分自身に電子メールで送信したかった(そのため、 でラップしたprint_r()
) ことです。print_r(): Property access is not allowed yet in... on line XXX
何らかの理由で、行 XXX が単純に読み取られる場所を示す PHP 警告が表示されるようになりましたaddNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");
バックトレースで渡されたパラメーターの 1 つがオブジェクトである場合にprint_r()
気に入らない理由はありますか? debug_backtrace()
mysqli_connect
mysqli_connect には toString 関数がありませんか?
編集もう少し調査した結果、オブジェクトに対してprint_r
orを呼び出すことができることがわかりましたが、そのオブジェクトがd の場合、この警告が発生します。閉じていればOKです。var_dump
mysqli_connect
mysqli_close
unset