【发布时间】:2016-05-17 18:22:31
【问题描述】:
我有一个非常复杂的系统,它每次想要执行查询时都会打开和关闭 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");
当回溯中传递的参数之一是 mysqli_connect 对象时,print_r() 不喜欢 debug_backtrace() 是否有某些原因? mysqli_connect 是否缺少 toString 函数?
编辑 经过一番研究,我发现您可以在 mysqli_connect 对象上调用 print_r 或 var_dump,但如果该对象是 mysqli_closed,则会导致此问题警告。如果它已关闭并且unset 没关系。
【问题讨论】:
-
mysqli_connect()只返回一个对象,并没有与之关联的其他方法。
标签: php mysqli backtrace debug-backtrace