Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le moyen le plus rapide d'insérer 134675 valeurs dans une base de données distante

Vous pouvez inclure dans votre boucle le mysql_ping() une fonction. Cette fonction vérifie que la connexion est ouverte, et si ce n'est pas le cas, elle se reconnecte.

En utilisant votre propre exemple, vous pourriez faire quelque chose comme :

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

Modifier :Il est à noter que d'après la doc, après MySQL 5.0.14, PHP ne se reconnecte pas automatiquement. Si vous utilisez une version plus récente de MySQL, vous devrez mettre votre propre logique de connexion, peut-être comme ceci (je n'ai pas testé) :

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.
}