2016-05-17 16 views
0

Ich habe ein sehr kompliziertes System, das MySQLi-Verbindungen jedes Mal öffnet und schließt, wenn es eine Abfrage durchführen wollte - von der es etwa 40.000 pro Operation ausführte (ineffizient, Ich kenne). Ich beschloss, die mysqli-Verbindung zwischen Funktionen zu übergeben, um diese Open-and-Close-Ineffizienz zu verhindern.PHP Warnung: print_r und debug_backtrace beim Übergeben einer mysqli-Verbindung

Mein Problem ist: Wenn eine Abfrage fehlschlägt, wollte ich mir die debug_backtrace(), formatiert in einem leicht lesbaren Format (so verpacke ich es in print_r()). Aus irgendeinem Grund bin immer ich jetzt eine PHP-Warnung, die sagt print_r(): Property access is not allowed yet in... on line XXX wo Linie XXX einfach addNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");

irgendeinem Grund Gibt es liest, dass print_r() nicht debug_backtrace() mag, wenn einer der übergebenen Parameter in der Backtrace eine ist mysqli_connect Objekt ? Fehlt der mysqli_connect eine toString-Funktion?

EDIT Nach ein wenig mehr Forschung fand ich habe, dass Sie print_r oder var_dump auf einem mysqli_connect Objekt aufrufen können, aber wenn das Objekt mysqli_close d bewirkt, dass es diese Warnung. Wenn es geschlossen ist und unset ist es in Ordnung.

+0

'mysqli_connect()' gibt nur ein Objekt zurück und es sind keine anderen Methoden damit verbunden. –

Antwort

Verwandte Themen