如何从WordPress核心记录MySQL错误?

时间:2013-01-25 作者:jdias

我正在开发一个wordpress站点,我希望能够记录和处理wordpress core中的mysql错误。

我的网站混合了wordpress页面和帖子,以及一些在wordpress引擎下运行的php页面。我配置了php。ini将php文件前置到所有带有错误处理函数的php脚本。它们可以很好地捕获wordpress核心和我自己的php脚本中的php错误。

我还在自己的php脚本中捕获所有MySQL错误。例如,无法连接到数据库等。

我还希望能够捕获、记录和处理wordpress核心应用程序中最终的MySQL错误。

有什么建议吗?

谢谢

我在看抄本,找不到答案

3 个回复
SO网友:Milo

您应该使用wpdb class 对于所有您自己的查询。所有核心查询也使用wpdb. 看见wpdb Show and Hide SQL Errors

<?php $wpdb->show_errors(); ?> 
<?php $wpdb->hide_errors(); ?> 
您还可以使用print\\u error打印最近查询生成的错误(如果有)。

<?php $wpdb->print_error(); ?>
另请参见SAVEQUERIES constant for wp-config.php:

define(\'SAVEQUERIES\', true);
用法示例:

<?php
if (current_user_can(\'administrator\')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "</pre>";
}
?>
还有许多有用的调试插件,如Debug Bar&;安慰在WordPress插件库中搜索此插件和其他与调试相关的插件。

SO网友:blockhead

一种方法是:

创建一个名为db.php 在里面wp-content. Wordpress将在实例化$wpdb 反对class 它扩展了wpdb, 并覆盖print_errors 方法来做任何你想做的事情$wpdb (例如。,$wpdb = new wpdb2(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);)$wpdb 取而代之的是

SO网友:insidepower

尝试使用

global $wpdb;
echo $wpdb->last_query;
在我使用ajax时,这是直接以字符串形式进行的。

结束

相关推荐

WordPress如何以及在哪里将MySQL内容添加到数据库中?

我目前正在关注steps 更改我的网站的服务器和域。我一直在从一个数据库向另一个数据库导出和导入mySQL。我即将删除数据库的mySQL内容以替换它。我害怕它会弄乱我的网站。Wordpress如何在数据库上创建mySQL内容,以及如何使其重写内容。换句话说:为什么我需要从以前的网站导出和导入数据库,而不仅仅允许FTP上的wordpress文件生成新的mySQL内容?非常感谢