У меня есть 4 класса в PHP, которые я использую для регистрации пользователя, проблема в том, что я не знаю, как закрыть соединение mysql.
Класс звонков:
single_connect-> database-> пост-> Регистрация
Когда я реализую 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
{
...