PHP警告:传递mysqli连接时的print_r和debug_backtrace

时间:2016-05-17 18:22:31

标签: php mysqli backtrace debug-backtrace

我有一个非常复杂的系统,每次想要执行查询时都会打开和关闭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_dumpmysqli_connect,但如果该对象为{ {1}} d它会导致此警告。如果它已关闭,mysqli_close就可以了。

1 个答案:

答案 0 :(得分:-1)

请参阅此处的示例。

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

它使用var_dump而不是print_r

我个人最喜欢的是var_export,因为它创建了php可读格式。