0

私は非常に複雑なシステムを持っており、クエリを実行するたびに 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_rorを呼び出すことができることがわかりましたが、そのオブジェクトがd の場合、この警告が発生します。閉じていればOKです。var_dumpmysqli_connectmysqli_closeunset

4

1 に答える 1

-1

こちらの例をご覧ください。

http://php.net/manual/en/function.debug-backtrace.php

print_r の代わりに var_dump を使用しています

私の個人的なお気に入りは var_export です。これは、php で読み取り可能な形式を作成するためです。

于 2016-05-17T20:28:06.080 に答える