Database connection close

时间:2013-10-11 作者:Tejas Ranpura

是否有类似的方法来关闭连接mysql_close() 对于$wpdb 在WordPress中?

是否不需要关闭全球连接$wpdb?

3 个回复
SO网友:Eugene Manuilov

您不必担心关闭与DB的连接,因为当服务器处理请求时,它会自动关闭。

但如果必须关闭它,则可以执行以下操作:

@mysql_close( $wpdb->dbh );
请注意,这可能会导致意外的结果,因为其他插件可能依赖此连接。

SO网友:Rarst

我不认为wpdb 实际上需要一种明确关闭连接的方法。

从搜索到代码库,WP的单元测试(不是实际的核心代码)正在执行以下操作(请注意自最新WP版本以来使用的API的差异):

if ( $wpdb->use_mysqli ) {
    mysqli_close( $wpdb->dbh );
} else {
    mysql_close( $wpdb->dbh );
}
unset( $wpdb->dbh );

SO网友:s_ha_dum

$wpdb 是一个global 的实例wpdb 班该类创建数据库连接single database connection 被WordPress核心、大多数插件和主题重复使用。You don\'t want to close it. 如果你查看来源wpdb 类中甚至没有提供终止连接的方法。

我唯一一次关闭wpdb 连接将用于您创建的连接,而不会用于$wpdb 实例,然后您必须遵循@EugeneManuilov建议的模式:

$mydb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
@mysql_close( $mydb->dbh ); 
这可能有点奇怪,因为$mydb 对象并不真正知道连接已断开。你已经把手伸进去,把地毯从下面拉了出来,但没有真正重新同步东西。对象不应该这样运行。之后我可能会用unset($mydb);

结束

相关推荐

Plugin: database creation

有人能告诉我这个函数有什么问题吗?function xattachments_db_install() { global $wpdb; $xattachments_db_version = \"1.0\"; $table_name = $wpdb->prefix .\"xattachments\"; $sql = \"CREATE TABLE IF NOT EXISTS \".$table_name. \" (