私は、クエリを実行するたびにMySQLi接続を開いたり閉じたりしていた非常に複雑なシステムを持っています - そのうちの1つは、知っている)。私は関数間のmysqli接続を渡すことにしました。このオープンとクローズを繰り返して非効率的にするのを防ぎました。PHP警告:mysqli接続を通過するときprint_rとdebug_backtrace
私の問題は、クエリが失敗したときに、わかりやすい形式で書かれたdebug_backtrace()
を自分宛てにメールしたかったからです(print_r()
にラップします)。何らかの理由で、私は今、ラインXXXは単にaddNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");
を読み込みprint_r(): Property access is not allowed yet in... on line XXX
がバックトレースで渡されたパラメータの一つがmysqli_connect
オブジェクトがあるときprint_r()
がdebug_backtrace()
を好きではないことを、いくつかの理由があると言うPHPの警告を取得しています? mysqli_connectにはtoString関数がありませんか?
EDITもう少し研究の後、私はあなたがmysqli_connect
オブジェクト上print_r
またはvar_dump
を呼び出すことができることを発見しましたが、そのオブジェクトがmysqli_close
dがある場合には、この警告の原因となります。閉じていてunset
の場合は大丈夫です。
mysqli_connect()はオブジェクトを返すだけで、それに関連付けられた他のメソッドはありません。 –