Hallo!
ich versuche, eine ca 40 MByte große Datei, die SQL Kommandos enthält, in eine Datenbank zu lesen. Dabei stelle ich fest, dass ca 2000 Zeilen der Datei gelesen werden, danach sich aber php aufhängt, d.h. 100% CPU Last, aber keine Veränderung in der Datenbank.
Bei ca 3000 SQL Befehlen geht alles ok, bei ca 3100 SQL Befehlen kommt es zu dem "Aufhängen". An den SQL Befehlen selber scheint es nicht zu liegen, 1. es kommt zu keinem Aufhängen, wenn ich die 3100 SQL Befehle in 2 Gruppen durchschicke, und 2. alle SQL Befehle werden fehlerlos abgearbeitet.
Hat irgendjemand einen Tipp?
Gruss Bruno
p.s. Füttern von PHPMYADMIN, dort SQL führt zu dem gleichen Verhalten, wobei das Aufhängen bei ca 1400 Datensätzen stattfindet.
set_time_limit(0);
$b = fgets($handle, 4096);
if(substr($b,0,1)<>"#"){$buffer.=$b;}
$pos=strpos($buffer,";");
$len=strlen($buffer);
if($pos +1 == $len ){
if (strlen($buffer)>0){
$result = mysql_query($buffer);
if (!$result) {
die('Invalid query: ' . mysql_error());
echo "<hr>$buffer
".mysql_error()."<hr>";
}
}
$buffer="";
}
}
ich versuche, eine ca 40 MByte große Datei, die SQL Kommandos enthält, in eine Datenbank zu lesen. Dabei stelle ich fest, dass ca 2000 Zeilen der Datei gelesen werden, danach sich aber php aufhängt, d.h. 100% CPU Last, aber keine Veränderung in der Datenbank.
Bei ca 3000 SQL Befehlen geht alles ok, bei ca 3100 SQL Befehlen kommt es zu dem "Aufhängen". An den SQL Befehlen selber scheint es nicht zu liegen, 1. es kommt zu keinem Aufhängen, wenn ich die 3100 SQL Befehle in 2 Gruppen durchschicke, und 2. alle SQL Befehle werden fehlerlos abgearbeitet.
Hat irgendjemand einen Tipp?
Gruss Bruno
p.s. Füttern von PHPMYADMIN, dort SQL führt zu dem gleichen Verhalten, wobei das Aufhängen bei ca 1400 Datensätzen stattfindet.
set_time_limit(0);
$b = fgets($handle, 4096);
if(substr($b,0,1)<>"#"){$buffer.=$b;}
$pos=strpos($buffer,";");
$len=strlen($buffer);
if($pos +1 == $len ){
if (strlen($buffer)>0){
$result = mysql_query($buffer);
if (!$result) {
die('Invalid query: ' . mysql_error());
echo "<hr>$buffer
".mysql_error()."<hr>";
}
}
$buffer="";
}
}
Kommentar