sql >> データベース >  >> RDS >> Mysql

php、mysqlサーバーがなくなりました

    あなたの問題は、最初のUPDATEクエリを送信する前にスクリプトが非常に長い時間実行される可能性があることだと思います。

    my.cnfのwait_timeout値を確認する必要があります。クエリ「SHOWVARIABLES;」を実行すると、wait_timeoutを確認できます。

    コードの一部を試して再接続することもできます:

    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. 書き込みセッションは1ページまたはすべてのページで開始しますか?

    2. 2つの日付の間のデータを選択して一部の日を除外する

    3. MySQLWorkbenchを使用してMySQLを停止/開始する方法

    4. PHPでMySQLから整数として整数を取得するにはどうすればよいですか?