ホームページ  >  記事  >  バックエンド開発  >  PHP がデータベースに長時間接続すると、mysql が消えてしまいます

PHP がデータベースに長時間接続すると、mysql が消えてしまいます

WBOY
WBOYオリジナル
2016-06-23 14:21:211013ブラウズ

public function connect() {
if ($this->conn == "pconn") {
//永続リンク
$this->conn = mysql_pconnect($this->db_host, $this->gt; db_user, $this->db_pwd);
} else {
//リンクが
の場合でも $this->conn = mysql_connect($this->db_host, $this->db_user, $this-> ;db_pwd) ;
}

if (!mysql_select_db($this->db_database, $this->conn)) {
if ($this->show_error) {
$this->show_error("データベースは利用できません: ", $this->db_database);
}
}
mysql_query("SET NAMES $this->coding");
}

上記はデータベース接続の書き方です。エラーが表示されないように書いてください。他に方法はありますか?


ディスカッションへの返信 (解決策)

方法を教えてください

データベース リンクがタイムアウトするか、無操作タイムアウト設定を超えてデータベースが強制的に切断されるもう 1 つの可能性は、データベースが不安定であることです。永続的な接続はお勧めできません~~一度に非常に大きなデータ結果を取得することもお勧めできません~

function dbConnect($hostname,$username,$pass,$db_name,$pconnect = 0) {    $func = empty($pconnect) ? 'mysql_connect' : 'mysql_pconnect';        if(!$connect) {        $connect = @$func($hostname,$username,$pass) or die("<font size='2'>Mysql_Error : ".mysql_error()."<br>Mysql Error Num : ".mysql_errno()."</font>");    }        @mysql_select_db($db_name, $connect) or die("<font size='2'> Mysql_Error : ".mysql_error()."<br>Mysql Error Num : ".mysql_errno()."</font>");    return $connect;}

クエリが完了したら接続データベースを閉じることをお勧めします

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。