• User Attivo

    Limite inserimento records in Mysql

    Ciao a tutti.
    Sto cercando di importare un file xls in mysql. Il file ha più di 13.000 righe.
    Tramite ciclo riesco a leggere il file ed a riempire 12602 righe in mysql (questo mi fa pensare che lo script vada bene), però appunto si ferma sempre a 12602, senza continuare. Da cosa può dipendere? ho provato sia online che in locale con easyPhp.
    Grazie mille


  • User

    In queste situazioni i messaggi di errore generati in php_error.log sono abbastanza specifici. Ad esempio si potrebbe trattare di "Maximum execution time of x seconds exceeded" or "Allowed memory size of x bytes exhausted". In questo caso dovresti cambiare le impostazioni di alcune direttive di PHP con .htaccess o con la funzione ini_set().


  • User Attivo

    Ciao grazie. non mi restituisce nessun errore a riguardo (solo notifiche di quando trova delle righe nel file xls vuote, ma non credo sia li il problema). dovendolo far girare in locale, ho installato easyphp, e volendo portei modificare qualche parametro nel php.ini. anche io, da ignorante, avevo pensato che potesse essere un errore di di risorse esaurite, ma non so su quali parametri devo andare ad agire nel file.


  • User Attivo

    Ciao
    hai provato a fare inserire un numero limitato di righe per volta?
    Potesti fare una query che ne inserisca 1000 per volta per esempio e vedere se tutto funziona in quel modo


  • User Attivo

    ciao grazie per la risposta e scusa il ritardo (piccolo incidente stradale, ma tutto ok).
    ho provato a chiudere il ciclo for in un altro di tipo while cosi:

    $totale = count($data->sheets[0]["cells"]);
    $indice=0;
    

    while ($x <= $totale) {
    //------------------------------
    $frazione = $indice+10000;
    for ($i = $indice; $i <= $frazione; $i++) {
    (query di inserimento in mysql)
    }
    $indice = $frazione;

    risultato è che lo script sta già girando da 14 minuti ed ha caricato solo 1037 record di quelli totali