Bonjour à toutes et tous!
Voilà, je suis dans une petite panade...
Pour une appli, il faut que je lise une table sur une base Access, qui contient 1 150 000 lignes. Et ensuite, il faut que l'introduise sur une base MySql.
J'utilise PDO pour lire les base Access et MySql.
Mais je ne trouve pas comment faire pour qu'un variable puisse enregistrer un million de lignes... Car j'ai toujours un problème de "
Fatal error: Out of memory (allocated 1702100992) (tried to allocate 44 bytes) in db.php on line 35".
Code PHP :
function select($req, $values = NULL) {
if(!is_numeric($values) && $values == NULL) {
$values = array();
} elseif(!is_array($values)) {
$values = array($values);
}
$this->sth = $this->dbh->prepare($req);
$this->sth->execute(array_values($values));
$h_data = $this->sth->fetchAll(PDO::FETCH_ASSOC);
return $h_data;
}
J'ai donc une erreur sur la ligne "$h_data = $this->sth->fetchAll(PDO::FETCH_ASSOC);". J'ai beau augmenter la
memory_limit à des valeurs folles (5 000 000M), ça ne change rien.
Si je fais un
memory_get_peak_usage, il me met 1.58 GB quelle que soit la limite que je met...
Si vous avez une idée, s'il vous plait.
Merci!!
Romain