Wenn du das Script im browser aufrufst, könntest du versuchen einen partiellen import zu erstellen.
D.h. du übergibst einfach nen parameter mit der nummer des nächsten datensatzes. Wenn der parameter nicht gesetzt ist fängst du bei 0 an.
Dann fügst du dem mysql statement die id als LIMIT zu, und rufst jedes mal z.b. 4.000 datensätze ab.
PHP-Code:
if(isset($_GET['next']){
$next = (int)$_GET['next'];
}
else {
$next = 0;
}
// noch ne $count variable mit anzahl der datensätze ermitteln
$result = mysql_query("
SELECT
customers_firstname, customers_lastname, customers_email_address,
customers_password, customers_newsletter
FROM
customers
LIMIT ".$next.",4000
") or die(mysql_error());
/*
[...]
*/
$next += 4000;
if($next < $count){
header(...);
}
Am anfang ermittelst du jeweils noch die gesamtanzahl der datensätze, und solange $next kleiner ist als die gesamtanzahl, leitet das script mit header() angaben auf sich selbst um, und übergibt jeweils das aktuelle $next+4000 als neuen parameter.
(allerdings weis ich nicht ob das mit header weiterleitung klappt, hab da was in erinnerung das der browser das als endlosschleife sehen könnte, notfalls musst du halt ne html umleitung nehmen)
Obs die beste lösung ist weis ich nicht.