sql >> Databasteknik >  >> RDS >> Mysql

Snabbaste sättet att infoga 134675-värden i fjärrdatabas

Du kan inkludera mysql_ping() i din loop fungera. Den här funktionen kontrollerar att anslutningen är öppen, och om den inte är det ansluter den igen.

Med ditt eget exempel kan du göra något som:

foreach($array as $value) {
    mysql_ping($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=mysql_query($sql);
    //then some extra code.
}

Redigera :Det bör noteras att enligt dokumenten, efter MySQL 5.0.14, återansluter PHP inte automatiskt. Om du använder en nyare version av MySQL måste du lägga in din egen anslutningslogik, kanske så här (jag har inte testat):

function check_dbconn($connection) {
    if (!mysql_ping($connection)) {
        mysql_close($connection);
        $connection = mysql_connect('server', 'username', 'password');
        mysql_select_db('db',$connection);
    } 
    return $connection;
}

foreach($array as $value) {
    $dbconn = check_dbconn($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=mysql_query($sql, $dbconn);
    //then some extra code.
}


  1. Kan inte få mysql-connector-python att installera i virtualenv

  2. mysql> skapa databastest; FEL 1006 (HY000):Det går inte att skapa databas "test" (fel:2)

  3. Microsoft Office-produkten som vägrar att dö

  4. Kan inte släppa tabell:En främmande nyckel-begränsning misslyckas