sql >> Base de Datos >  >> RDS >> Mysql

La forma más rápida de insertar 134675 valores en una base de datos remota

Podría incluir en su ciclo el mysql_ping() función. Esta función verifica que la conexión esté abierta y, si no lo está, vuelve a conectar.

Usando su propio ejemplo, podría hacer algo como:

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

Editar :Cabe señalar que, según los documentos, después de MySQL 5.0.14, PHP no se vuelve a conectar automáticamente. Si usa una versión más nueva de MySQL, tendrá que poner su propia lógica de conexión, tal vez así (no lo he probado):

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