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

php, mysql сървърът е изчезнал

Предполагам, че проблемът ви е, че скриптът може да се изпълнява много дълго време, преди да изпрати първата заявка за UPDATE.

Трябва да проверите стойността на wait_timeout в my.cnf. Можете да проверите своя wait_timeout, като изпълните заявката „SHOW VARIABLES;“

Можете също да опитате да въведете част от кода, за да извършите повторно свързване:

if (!mysql_ping ($conn)) {
   //here is the major trick, you have to close the connection (even though its not currently working) for it to recreate properly.
   mysql_close($conn);
   $conn = mysql_connect('localhost','user','pass');
   mysql_select_db('db',$conn);
}

Комбинирайки с вашия код, това би било:

mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());
$sql = mysql_query("SELECT id FROM db");
while ($data = mysql_fetch_assoc($sql)) {
    if (!mysql_ping ()) {
       //here is the major trick, you have to close the connection (even though its not currently working) for it to recreate properly.
       mysql_close();
       mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
       mysql_select_db("xxx") or die(mysql_error());
    }

    $ids[] = $data['id'];
    $content = file_get_contents("http://www.id.com/?id=$id");
    if (stristr($content, "the id is ok man")) {
        mysql_query("UPDATE db SET status = 'OK' WHERE id = '$id'");
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. executemany за MySQLdb грешка за голям брой редове

  2. Има ли ограничение на паметта за метода json_encode()?

  3. Как правилно да вмъкнете utf-8 символи в MySQL таблица с помощта на python

  4. Как да нулирате паролата за root на MySQL

  5. PHP:Показване на диалогов прозорец за потвърждение да/не