我有一个非常复杂的系统,每次想要执行查询时都会打开和关闭MySQLi连接 - 每个给定的操作大约有40,000个(我知道效率低)。我决定通过函数之间的mysqli连接,以防止这种开启和关闭反复低效。
我的问题是:当查询失败时,我想给自己发送电子邮件debug_backtrace()
,格式化为易于阅读的格式(所以我将其包装在print_r()
中)。出于某种原因,我现在收到一条PHP警告,上面写着print_r(): Property access is not allowed yet in... on line XXX
,其中第XXX行只是在阅读addNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");
当回溯中的一个传递参数是print_r()
对象时,是否有debug_backtrace()
不喜欢mysqli_connect
的原因?是否mysqli_connect缺少toString函数?
编辑经过一番研究后,我发现您可以在print_r
对象上调用var_dump
或mysqli_connect
,但如果该对象为{ {1}} d它会导致此警告。如果它已关闭,mysqli_close
就可以了。
答案 0 :(得分:-1)
请参阅此处的示例。
http://php.net/manual/en/function.debug-backtrace.php
它使用var_dump而不是print_r
我个人最喜欢的是var_export,因为它创建了php可读格式。