Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

bagaimana cara mengaktifkan koneksi ulang otomatis database di PHP?

Terkadang ketika koneksi MySQL Anda dibuka terlalu lama, koneksi ke DB akan terputus ketika waktu tanpa kueri melebihi nilai wait_timeout di my.cnf. Anda akan mendapatkan kesalahan batas waktu "Server MySQL telah hilang".

Beginilah cara saya menerapkan koneksi ulang otomatis dalam kode saya:

class databaseClass {
    var $conn;
    var $db;

    public function __construct() {
        $this->connect();
    }

    public function connect() {
        $this->conn = mysql_connect(DB_HOST, DB_USER, DB_PASS);
        $this->db = mysql_select_db(DB_NAME, $this->conn);
    }

    public function disconnect() {
        mysql_close($this->conn);
    }

    public function reconnect() {
        $this->disconnect();
        $this->connect();
    }

    public function queryCompanyExist($company) {
        //auto reconnect if MySQL server has gone away
        if (!mysql_ping($this->conn)) $this->reconnect();

        $query =  "SELECT name FROM company WHERE name='$company'";
        $result = mysql_query($query);
        if (!$result) print mysql_error() . "\r\n";
        return mysql_fetch_assoc($result);
    }
}

Lihat di sini untuk informasi lebih lanjut tentang mysql_ping



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Versi portabel MySql

  2. TO_SECONDS() Contoh – MySQL

  3. Baca satu kolom dari satu baris dari database MySQL

  4. MySQL memberikan kesalahan membaca ECONNRESET setelah waktu idle di server node.js

  5. DEADLOCK APPARENT Membuat utas darurat untuk tugas tertunda yang belum ditetapkan