簡體   English   中英

PHP警告:傳遞mysqli連接時,print_r和debug_backtrace

[英]PHP Warning: print_r and debug_backtrace when passing a mysqli connection

我有一個非常復雜的系統,每次它要執行查詢時都要打開和關閉MySQLi連接-每個給定操作它要執行約40,000個操作(我知道效率很低)。 我決定在函數之間傳遞mysqli連接,以防止這種重復打開和關閉效率低下。

我的問題是:當查詢失敗時,我想通過電子郵件發送給自己debug_backtrace() ,其格式為易於閱讀的格式(因此我將其包裝在print_r() )。 出於某種原因,我現在得到一個PHP警告,提示print_r(): Property access is not allowed yet in... on line XXXprint_r(): Property access is not allowed yet in... on line XXX ,其中XXX行僅讀取addNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");

當回溯中傳遞的參數之一是mysqli_connect對象時, print_r()不喜歡debug_backtrace()原因是什么? mysqli_connect是否缺少toString函數?

編輯經過更多的研究,我發現您可以在mysqli_connect對象上調用print_rvar_dump ,但是如果該對象是mysqli_close d,則會引起此警告。 如果關閉並unset ,就可以了。

請參閱此處的示例。

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

它使用var_dump而不是print_r

我個人最喜歡的是var_export,因為它創建了php可讀格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM