gpt4 book ai didi

php - 我在哪里可以关闭这个类层次结构中的 mysql 连接?

转载 作者:行者123 更新时间:2023-11-29 07:06:53 24 4
gpt4 key购买 nike

我在 PHP 中有 4 个类用于注册用户,问题是我不知道如何关闭 mysql 连接。

类调用:

single_connect->database->post->signup

当我在单例中实现 mysql_close() 时,它破坏了我的代码。我的假设是,只要创建了一个注册对象,它所扩展的类也会被“实例化”。但事实并非如此。

我必须注释掉 mysql_close 才能让它工作。请注意,我的单例使用数据库链接来确定它是否存在,然后像大多数单例一样使用指向自身的指针。

/*single_connect*/

class single_connect
{
private static $_db_pointer = NULL;
private function __destruct()
{
//mysql_close();
}
private function __construct()
{
self::$_db_pointer = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_DATABASE);
}
public static function get_connection()
{
if(self::$_db_pointer == NULL)
{
return new self();
}
}
}

/*database*/

abstract class database
{
protected function __construct()
{
single_connect::get_connection();
}
protected static function query($query)
{
$result = mysql_query($query) or die(mysql_error());
return $result;
}
}

/*post*/

class post extends database
{
public $_protected_arr=array();
protected function __construct()
{
parent::__construct();
$this->protect();
}
protected function protect()
{
foreach($_POST as $key => $value)
{
$this->_protected_arr[$key] = mysql_real_escape_string($value);
}
}
}

/*signup*/

class signup extends post
{
...

最佳答案

当脚本执行完成时,连接会自动关闭。因此,如果在最后一次数据库操作和脚本结束之间没有大量时间,我就不会显式关闭连接。

关于php - 我在哪里可以关闭这个类层次结构中的 mysql 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com