0

我有一个非常复杂的系统,每次它想要执行查询时都会打开和关闭 MySQLi 连接 - 每个给定操作它大约执行 40,000 次(我知道效率低下)。我决定在函数之间传递 mysqli 连接,以防止这种反复打开和关闭的低效率。

我的问题是:当查询失败时,我想给自己发电子邮件debug_backtrace(),格式为易于阅读的格式(所以我将其包装在 中print_r())。出于某种原因,我现在收到一个 PHP 警告,上面写着print_r(): Property access is not allowed yet in... on line XXXXXX 行的内容addNotification("Backtrace: ".print_r(debug_backtrace(), true), "debug");

当回溯中传递的参数之一是对象时,是否有一些print_r()不喜欢的原因?debug_backtrace()mysqli_connect mysqli_connect 是否缺少 toString 函数?

编辑经过更多研究,我发现您可以调用print_rvar_dump在一个mysqli_connect对象上,但如果该对象是mysqli_closed 它会导致此警告。如果它是关闭的,unset它是好的。

4

1 回答 1

-1

请参阅此处的示例。

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

它使用 var_dump 而不是 print_r

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

于 2016-05-17T20:28:06.080 回答