msg errore in import dati

devo fare un'insert di un migliaio di record.

ogni tanto mi dà il msg:

Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10048)

il nr di righe alla fine è giusto perchè itero sulla quella riga fin quando non la inserisco, ma si o evitare il msg?

inviato 10 anni fa
ventrix
X 0 X

C'è qualcosa che non va  >:(

Quell'errore viene restituito quando la connessione tra PHP e MySQL non ha esito positivo. Allora come riesci ad eseguire le INSERT?  ???

Non è che effettui una connessione per ciascuna INSERT ed arrivato alla saturazione MySQL ti da quell'errore? Riporta il codice che stai usando.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

forse hai ragione

cmq ti riporto il codice:

<?php

  // leggo gli articoli

  if (($rec=='ART') and ($ricarti=='S')) {

    $codart = substr($buffer,3,9);

//    $codart = $con;

    $desart = substr($buffer,12,50);

    $altro =  substr($buffer,62,50); // descrione rep.cass

    $tipo    = substr($buffer,159,2); // U.M.

    $lega =  substr($buffer,161,1); // P/k = unità vendita

    $coiva =  substr($buffer,162,2); // cod. rep.cassa

    $prepro1  = substr($buffer,165,12);

    $scopro1   = substr($buffer,177,5);

    $scoacq1   = substr($buffer,182,5);

    $di1  =  substr($buffer,187,8);

    $df1  = substr($buffer,195,8);

    $preacq1   =   substr($buffer,211,9);

    $pezzi =  substr($buffer,216,5); // multiplo

    $idfor   =  substr($buffer,211,5); // mpl min. vendita M.M.V.

    $gruppo =  " ";

    $stato = 'a';

    $preacq   =  0;

    $preven  = 0;

    $conmag =  " ";

    $desart=addslashes($desart);

    $altro=addslashes($altro);

    $prepro=0;

    $scopro=0;

    $scoacq=0;

    $datinpro  ="0000-00-00";

    $datfinpro  ="0000-00-00";

    $preacq=0;

    $sql=" ";

    $sql = "INSERT INTO articoli ( fstato02 , fidart02 , ftipo02, ";

    $sql .="fdesart02 , fidfor02 , fpreacq02 , fscoacq02 , fpreven02 , ";

    $sql .="fprepro02 , fdatinpro02 , fdatfinpro02 , fscopro02 , fpezzi02 , ";

    $sql .="flega02 , fgruppo02 , fconmag02 , fcoiva02 , faltro02) ";

    $sql .="VALUES ( \"$stato\",\"$codart\", \"$tipo\",";

    $sql .="\"$desart\", \"$idfor\", \"$preacq\", \"$scoacq\", \"$preven\",";

    $sql .=" \"$prepro\", \"$datinpro\", \"$datfinpro\", \"$scopro\", \"$pezzi\",";

    $sql .="\"$lega\", \"$gruppo\", \"$conmag\", \"$coiva\", \"$altro\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

  // leggo i listini

  if (($rec=='LIS') and ($ricarti=='S')) {

    $codart = substr($buffer,3,9);

    $listino  =  substr($buffer,12,2);

    $prepro1  = substr($buffer,14,12);

    $scopro1   = substr($buffer,26,5);

    $scoacq1   = substr($buffer,31,5);

    $prepro=substr($prepro1,0,9).".".substr($prepro1,9,3);

    $scopro=substr($scopro1,0,3).".".substr($scopro1,3,2);

    $scoacq=substr($scoacq1,0,3).".".substr($scoacq1,3,2);

    $datinpro  =  substr($di1,0,4)."-".substr($di1,4,2)."-".substr($di1,6,2);

    $datfinpro  = substr($df1,0,4)."-".substr($df1,4,2)."-".substr($df1,6,2);

    $sql=" ";

    $sql = "INSERT INTO listini (fidart14 ,";

    $sql .=" fscoacq14 , ";

    $sql .="fpreven14 , fscopro14 , ";

    $sql .="flistino14) ";

    $sql .="VALUES ( \"$codart\",";

    $sql .="\"$scoacq\", \"$prepro\",";

    $sql .="\"$scopro\",";

    $sql .="\"$listino\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

  // leggo i CONCORDATI

  if (($rec=='CON') and ($ricarti=='S')) {

    $codart = substr($buffer,3,9);

    $codneg  =  substr($buffer,12,5);

    $sql=" ";

    $sql = "INSERT INTO concordati (fidart19 ,";

    $sql .="fidneg19) ";

    $sql .="VALUES ( \"$codart\",";

    $sql .="\"$codneg\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

  // leggo i nogozi=clienti

  if (($rec=='CLI') and ($ricneg=='S')) {

    $codage = substr($buffer,3,5);

    $codcli = substr($buffer,8,5);

    $ragsoc = substr($buffer,13,50);

    $indir = substr($buffer,63,40);

    $citta = substr($buffer,103,30)." ".substr($buffer,138,2);

    $cap = substr($buffer,133,5);

    $telef = substr($buffer,140,30);

    $piva   = substr($buffer,170,11);

    if ($piva<=0) {

      $piva   = substr($buffer,181,16);

    }

    $tipo   = " ";

    $altro   = substr($buffer,197,2);

    $sconto=0;

    $stato = "a";

    $inscom   = substr($buffer,202,50);

    $resp   = substr($buffer,252,30);

    $chius   = substr($buffer,282,10);

    $mop   = substr($buffer,292,1);

    $categ   = substr($buffer,293,2);

    $subcat   = substr($buffer,295,2);

    $zona   = substr($buffer,297,5);

    $dcateg   = substr($buffer,302,50);

    $dsubcat   = substr($buffer,352,50);

    $dzona   = substr($buffer,402,50);

    $desart=addslashes($desart);

    $ragsoc=addslashes($ragsoc);

    $indir=addslashes($indir);

    $citta=addslashes($citta);

    $telef=addslashes($telef);

    $inscom=addslashes($inscom);

    $resp=addslashes($resp);

    $chius=addslashes($chius);

    $dcateg=addslashes($dcateg);

    $dsubcat=addslashes($dsubcat);

    $dzona=addslashes($dzona);

    $sql = "INSERT INTO negozi ( fstato08 , fidneg08 ,";

    $sql .="fragsoc08 , findir08 , fcap08 , fcitta08 , ";

    $sql .="ftelef08 , femail08 , ftipo08 , ";

    $sql .="faltro08 , fpiva08 , ";

    $sql .="fmop08 , fcat08 , ";

    $sql .="fdcat08 , fsubca08 , ";

    $sql .="fdsubca08 , fzona08 , ";

    $sql .="fdzona08 , finscom08) ";

    $sql .="VALUES ( \"$stato\",\"$codcli\",";

    $sql .="\"$ragsoc\", \"$indir\", \"$cap\", \"$citta\",";

    $sql .=" \"$telef\",\"$email\", \"$tipo\",";

    $sql .="\"$altro\", \"$piva\",";

    $sql .="\"$mop\", \"$categ\",";

    $sql .="\"$dcateg\", \"$subcat\",";

    $sql .="\"$dsubcat\", \"$zona\",";

    $sql .="\"$dzona\", \"$inscom\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

  // leggo i sospesi

  if (($rec=='SOS') and ($ricsosp=='S')) {

    $codage = substr($buffer,3,5);

    $codcli = substr($buffer,8,5);

    $rifer  = substr($buffer,13,7);

    $valrif1   = substr($buffer,20,12);

    $darav   = substr($buffer,32,1);

    $datado1   = substr($buffer,33,8);

    $valrif=substr($valrif1,0,9).".".substr($valrif1,9,3);

    $datado  = substr($datado1,4,4)."-".substr($datado1,2,2)."-".substr($datado1,0,2);

    $sql=" ";

    $sql = "INSERT INTO sospesi (fidcli15 ,";

    $sql .=" frifer15 , ";

    $sql .="fvalrif15 , fdarav15 , ";

    $sql .="fdatado15) ";

    $sql .="VALUES ( \"$codcli\",";

    $sql .="\"$rifer\", \"$valrif\",";

    $sql .="\"$darav\",";

    $sql .="\"$datado\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

  // leggo le fatture

  if (($rec=='FAT') and ($ricfatt=='S')) {

    $codage = substr($buffer,3,5);

    $codcli = substr($buffer,8,5);

    $numdoc  = substr($buffer,13,7);

    $datado1   = substr($buffer,20,8);

    $totdoc1   = substr($buffer,28,13);

    $totimp1   = substr($buffer,41,13);

    $codart   = substr($buffer,54,9);

    $desart   = substr($buffer,63,50);

    $qtaart1   = substr($buffer,113,9);

    $preart1   = substr($buffer,122,12);

    $sconto11   = substr($buffer,134,5);

    $sconto21   = substr($buffer,139,5);

    $tipmov   = substr($buffer,144,2);

    $darav   = substr($buffer,146,1);

    $segno   = substr($buffer,147,1);

    $molti=1;

    if ($segno=='-') {

      $molti=-1;

    }

    $totdoc=substr($totdoc1,0,10).".".substr($totdoc1,10,3);

    $totimp=substr($totimp1,0,10).".".substr($totimp1,10,3);

    $qtaart=substr($qtaart1,0,7).".".substr($qtaart1,7,2);

    $preart=substr($preart1,0,9).".".substr($preart1,9,3);

    $sconto1=substr($sconto11,0,3).".".substr($sconto11,3,2);

    $sconto2=substr($sconto21,0,3).".".substr($sconto21,3,2);

    $desart=addslashes($desart);

    $datado  = substr($datado1,0,4)."-".substr($datado1,4,2)."-".substr($datado1,6,2);

    $totiva=$totdoc-$totimp;

    if (($codcli<>$scodcli) or ($numdoc<>$snumdoc) or ($datado1<>$sdatado1) or ($tipmov<>$stipmov)) {

      $idmovt=$idmovt+1;

      $sql=" ";

      $sql = "INSERT INTO movitesf (fflag09f ,";

      $sql .=" fidmov09f , ";

      $sql .="ftipmo09f , fcoint09f , fnumdo09f, fdatdo09f, faggmag09f, fmolti09f, finterl09f, ";

      $sql .="ftoiva09f, ftoimp09f, ftodoc09f, fdatmo09f) ";

      $sql .="VALUES ( ' ',";

      $sql .="\"$idmovt\",";

      $sql .="\"$tipmov\",\"$codcli\",\"$numdoc\",\"$datado\",'s',\"$molti\",'N',";

      $sql .="\"$totiva\",\"$totimp\",\"$totdoc\",\"$datado\" );";

      $connection=false;

      while (!$connection) {

        $connection = mysql_connect("localhost","root","") ;

        if (!$connection) {

          $connection=false;

        }

      }

      $db = mysql_select_db("negozio",$connection) ;

      $query = $sql;

      $res = mysql_query($query);

      mysql_close($connection);

    }

    $scodcli=$codcli;

    $snumdoc=$numdoc;

    $sdatado1=$datado1;

    $stipmov=$tipmov;

    $sql=" ";

      $sql = "INSERT INTO movidetf (fflag10f ,";

      $sql .=" fidmov10f , fidriga10f ,";

      $sql .="ftipmo10f , fcoint10f , fnumdo10f, fdatdo10f, faggmag10f , fmolti10f , finterl10f , ";

      $sql .="fidart10f , fdesart10f , fprezzo10f , fsconto110f , fsconto210f , fpezzi10f , fdatmo10f) ";

      $sql .="VALUES ( ' ',";

      $sql .="\"$idmovt\", ' ',";

      $sql .="\"$tipmov\",\"$codcli\",\"$numdoc\",\"$datado\",'s',\"$molti\",'N',";

      $sql .="\"$codart\",\"$desart\",\"$preart\",\"$sconto1\",\"$sconto2\",\"$qtaart\",\"$datado\" );";

    $connection=false;

    while (!$connection) {

      $connection = mysql_connect("localhost","root","") ;

      if (!$connection) {

        $connection=false;

      }

    }

    $db = mysql_select_db("negozio",$connection) ;

    $query = $sql;

    $res = mysql_query($query);

    mysql_close($connection);

    //break;

  }

?>

risposto 10 anni fa
ventrix
X 0 X

E' proprio così, effettui una connessione a MySQL per ogni query che lanci. Non solo è inutile ma, come hai potuto verificare, è dannoso poiché non fai altro che bombardare MySQL che ad un certo punto si rifiuta di accettare la connessione.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda