Hola pdelphp, algunas correcciones:
Código PHP:
<?php
//Leer el archivo y gaurdarlo en un array con 110 elementos
$archivo= file('kramnik2.txt');
$q = ""; //Declaras la variable vacía
foreach ($archivo as $n_linea => $linea) // NO puedes usar [] en lectura
{
$q .= "INSERT INTO chesstemporal
(event, site, date, round, whiteplayer, blackplayer, result, eco, whiteelo, blackelo, plycount, eventdate, source, sourcedate, empty1)
values
(".$datos_linea[0].", ".$datos_linea[1].", ".$datos_linea[2].", ".$datos_linea[3].", ".$datos_linea[4].", ".$datos_linea[5].", ".$datos_linea[6].", ".$datos_linea[7].", ".$datos_linea[8].", ".$datos_linea[9].", ".$datos_linea[10].", ".$datos_linea[11].", ".$datos_linea[12].", ".$datos_linea[13].", 'NULL');";
}
//Ahora $q tiene 110 inserts que se ejecutarán todos juntos
if(!$query = mysql_query($q, $link))die(mysql_error()); //Comprueba los errores, no continúes si hay alguno
mysql_close($link);
?>
Por otra parte, determinados servidores mysql cierran la conexión cuando la query tarda mucho y te dan error "2006", si este es tu caso, cambia el código y haz esto:
Código PHP:
<?php
//Leer el archivo y gaurdarlo en un array con 110 elementos
$archivo= file('kramnik2.txt');
foreach ($archivo as $n_linea => $linea) // NO puedes usar [] en lectura
{
$q = "INSERT INTO chesstemporal
(event, site, date, round, whiteplayer, blackplayer, result, eco, whiteelo, blackelo, plycount, eventdate, source, sourcedate, empty1)
values
(".$datos_linea[0].", ".$datos_linea[1].", ".$datos_linea[2].", ".$datos_linea[3].", ".$datos_linea[4].", ".$datos_linea[5].", ".$datos_linea[6].", ".$datos_linea[7].", ".$datos_linea[8].", ".$datos_linea[9].", ".$datos_linea[10].", ".$datos_linea[11].", ".$datos_linea[12].", ".$datos_linea[13].", 'NULL');";
//Un insert por vez a la base de datos
if(!$query = mysql_query($q, $link))die(mysql_error()); //Comprueba los errores, no continúes si hay alguno
}
mysql_close($link);
?>
Ánimo, a ver qué pasa!, un saludo