Tengo esta pagina que me toma un archivo .CSV y lo carga en la base de datos SIN PROBLEMAS ("Aproximadamente son 12 mil registros, ahora si ejecuto nuevamente esta rutina sin vaciar la base de datos en ese mismo momento me arroja el siguiente ERROR en pantalla:
Código PHP:
Ver original
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'localhost' (10055) in C:\Program Files\VertrigoServ\www\Rips\datos_sura.php on line 15 Error conectando a la base de datos.
El codigo PHP es este:
Código PHP:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> </head> <body> <?php /* Código que lee un archivo .csv con datos, para luego insertarse en una base de datos, vía MySQL * Gracias a JoG * http://gualinx.wordpress.com */ function Conectarse() //Función para conectarse a la BD { echo "Error conectando a la base de datos."; } echo "Error seleccionando la base de datos."; } return $link; } $row = 1; $handle = fopen("datos_sura.csv", "r"); //Coloca el nombre de tu archivo .csv que contiene los datos while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { //Lee toda una linea completa, e ingresa los datos en el array 'data' $row++; $cadena = "INSERT INTO rips_sura (fecha,orden,ips,tipo_iden_paci,num_iden_paci,nombres_paciente,sexo,edad,tipo_iden_me,num_iden_me,nombres_medico,cod_prest,nombres_prestacion,causa_externa,finalidad_consulta,finalidad_procedimiento,dx_ppal,dx_relacionado) VALUES ("; //Cambia los valores 'CampoX' por el nombre de tus campos de tu tabla y colócales los necesarios for ($c=0; $c < $num; $c++) { //Aquí va colocando los campos en la cadena, si aun no es el último campo, le agrega la coma (,) para separar los datos if ($c==($num-1)) $cadena = $cadena."'".$data[$c] . "'"; else $cadena = $cadena."'".$data[$c] . "',"; } $cadena = $cadena.");"; //Termina de armar la cadena para poder ser ejecutada //echo $cadena."<br>"; //Muestra la cadena para ejecutarse $enlace=Conectarse(); $result=mysql_query($cadena, $enlace); //Aquí está la clave, se ejecuta con MySQL la cadena del insert formada } ?> <h2>Se insertaron <?php echo $row ?> Registros en la tabla rips_sura</h2> <?php echo "<META HTTP-EQUIV='Refresh' CONTENT='3;URL=sura.php'>"; ?> </body> </html>
yo intenten poniendole este codigo dentro de los while set_time_limit(0); pero continua el problema, ya que mi impresion es que como son tantos registros el mysql se bloquea temporalmnte, sera que hay algun codigo para aumentar el tiempo de ejecucion de los scrips? o que puede ser el problema?