Mysql
 sql >> база данни >  >> RDS >> Mysql

как да активирам автоматично повторно свързване на базата данни в PHP?

Понякога, когато вашата MySQL връзка се отвори твърде дълго, връзката с DB ще бъде прекъсната, когато времето без заявка надвиши стойността на wait_timeout в my.cnf. Ще получите грешка за изчакване "MySQL сървърът е изчезнал".

Ето как внедрявам автоматично повторно свързване в моя код:

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);
    }
}

Вижте тук за повече информация относно 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. Мога ли да пагинирам персонализирана заявка, без да отменя пагинацията по подразбиране?

  2. Извличане на данни от две таблици, които са свързани с външен ключ в CakePhp

  3. Използвайте MySQL, за да определите дали днес е рожден ден на потребителя

  4. Създайте масив за PDO от променливи, предадени от jquery

  5. Laravel има много релации, брой харесвания и коментари за публикация