是否有类似的方法来关闭连接mysql_close()
对于$wpdb
在WordPress中?
是否不需要关闭全球连接$wpdb
?
是否有类似的方法来关闭连接mysql_close()
对于$wpdb
在WordPress中?
是否不需要关闭全球连接$wpdb
?
您不必担心关闭与DB的连接,因为当服务器处理请求时,它会自动关闭。
但如果必须关闭它,则可以执行以下操作:
@mysql_close( $wpdb->dbh );
请注意,这可能会导致意外的结果,因为其他插件可能依赖此连接。我不认为wpdb
实际上需要一种明确关闭连接的方法。
从搜索到代码库,WP的单元测试(不是实际的核心代码)正在执行以下操作(请注意自最新WP版本以来使用的API的差异):
if ( $wpdb->use_mysqli ) {
mysqli_close( $wpdb->dbh );
} else {
mysql_close( $wpdb->dbh );
}
unset( $wpdb->dbh );
$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);
有人能告诉我这个函数有什么问题吗?function xattachments_db_install() { global $wpdb; $xattachments_db_version = \"1.0\"; $table_name = $wpdb->prefix .\"xattachments\"; $sql = \"CREATE TABLE IF NOT EXISTS \".$table_name. \" (