Navigazione

  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Registrati
  • Accedi
Privacy - Termini e condizioni
© 2020 Search On Media Group S.r.l.
  • Registrati
  • Accedi
  • CATEGORIES
  • Discussioni
  • Non letti
  • Recenti
  • Hashtags
  • Popolare
  • Utenti
  • Stream
  • Interest
  • Categories
  1. Home
  2. Categorie
  3. Coding e Sistemistica
  4. Coding
  5. problema inserimento in mysql
Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
  • S
    solocla User • 4 ott 2006, 21:07 ultima modifica di

    problema inserimento in mysql

    Ciao a tutti,

    ho un problema strano!!

    ho generato uno script che da delle righe con explode genera variabili da inserire nel database mysql...e fino a qui tutto bene!

    Il problema è quando le linee da inserire sono molte (con area ripetuta)

    infatti fino a 50 tutto ok
    se sono 100 me li duplica 2 volte

    oltre i 400 ne tralascia qualcuna ad esempio ne trovo 380

    Qualcuno sa aiutarmi?

    Grazie mille

    Claudio

    0 Miglior Risposta Ringrazia Cita Rispondi

      1 Risposta Ultima Risposta
      Caricamento altri post
      Rispondi
      • Topic risposta
      Effettua l'accesso per rispondere
      • Da Vecchi a Nuovi
      • Da Nuovi a Vecchi
      • Più Voti
       

    • P
      piccolo.socrate User Attivo • 5 ott 2006, 02:55 ultima modifica di

      provo ad ipotizzare...

      1. lo script va in timeout?
      2. hai provato a fare un "echo" della tua query e provarla direttamente?
      3. magari non hai sforato il limite massimo di delay che consente il tuo hosting?
      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • N
        nedone User Attivo • 5 ott 2006, 11:21 ultima modifica di

        Perché non invii il codice della funzione? Magari vediamo un bug che a te sfugge..

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • S
          solocla User • 5 ott 2006, 17:11 ultima modifica di
          1. non so se va in timeout come lo capisco?
          2. l'ho fatto ne vedo una 50 e poi gli altri no... sembra che fa un refresh di pagina...... ma in realtà non sono mai quelli reali (esempio 400 diventano 380 ma anche 100 che raddoppiano)
          3. da dove lo capisco? uso Aruba con Linux

          ecco il codice

          <?php
          mysql_select_db($database_normeonline, $normeonline);
          $query_uni = "SELECT * FROM uni";
          $uni = mysql_query($query_uni, $normeonline) or die(mysql_error());
          $row_uni = mysql_fetch_assoc($uni);
          $totalRows_uni = mysql_num_rows($uni);
          ?>
          <style type="text/css">
          <!--
          .Stile6 {
          font-family: Arial, Helvetica, sans-serif;
          font-size: 12px;
          font-weight: bold;
          }
          -->
          </style>
          <div align="center"><a href="formuni.php" class="Stile6">Torna all'inserimento</a>

          • <a href="catalogouni.php"><span class="Stile6">VISUALIZZA CATALOGO UNI</span></a><br>
            <a href="cpanel.php"><span class="Stile6">TORNA AL PANNELLO DI CONTROLLO</span></a>
            <?php
            $data1=$_POST['normeuni'];
            $data=$data1;
            ?>
            <?php
            $norma = explode ("? ", $data);
            foreach ($norma as $norma1) {
            ?>
            <?php
            list($a1, $a2) = explode("

          ", $norma1);
          //a2 titolo sporco
          list ($titolo) = explode ("UNI", $a2);
          list($uni, $codiceanno) = explode(" ", $norma1);
          ?>
          <style type="text/css">
          <!--
          .Stile5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 10px; }
          -->
          </style>

          </div>
          <p></p>
          <?php
          $divcodice =$codiceanno;
          list($cod, $anno) = explode(":", $divcodice);
          ?>
          <p></p>

          <p> </p>

          <?php
          mysql_query("INSERT INTO uni VALUES ('', '$cod', '$anno', '$titolo')");
          if (mysql_error()){ echo mysql_error();}
          }

          ?>

          GRAZIE MILLE!!!!!

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • P
            pater Super User • 5 ott 2006, 19:01 ultima modifica di

            E' un pò incasinato sto codice... Molte parti inutili, variabili riallocate e non utilizzate... vedi ( $norma = $norma1 -> spreco di memoria ) e la query iniziale, che non sfrutti...

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • S
              solocla User • 5 ott 2006, 19:04 ultima modifica di

              ora lo alleggerisco 😞

              ma cosa mi consigli per il mio problema?

              grazie

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • S
                solocla User • 5 ott 2006, 19:20 ultima modifica di

                ho tolto la query iniziale

                ho provato con 100 linee alla volta e sembra funzionare

                con 200 linee me ne ritrovo circa 360 (quindi 160 in più) ma perchè????

                quando carica lo script è come se fa il refresh di pagina un paio di volte!!!

                aiuto!!!

                THANKS

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • P
                  pater Super User • 5 ott 2006, 19:22 ultima modifica di

                  @solocla said:

                  ora lo alleggerisco 😞

                  ma cosa mi consigli per il mio problema?

                  grazie
                  mysql_query("INSERT INTO uni VALUES ('', '$cod', '$anno', '$titolo')");
                  if (mysql_error()){ echo mysql_error();}
                  }

                  sostituiscilo con

                  mysql_query("INSERT INTO uni VALUES ('', '$cod', '$anno', '$titolo')") or die(mysql_error());


                  Per quanto riguarda il tuo problema... Ti consiglio di evitare tutti questi explode se non sono strettamente importanti, idem per i list.. E di dare una ripulita generale al codice... Non conosco il progettoquindi non posso dirti altro

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    solocla User • 5 ott 2006, 19:39 ultima modifica di

                    l'ho sostituito!
                    ora quello che fa
                    è raddoppiare perfettamente le linee inserite!!!

                    prima era casuale ora sembra che inserisca due volte le stesse linee!!

                    per quanto riguarda i list ed explode purtroppo mi sono necessari per separare le variabili....

                    help me 😞

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • N
                      nedone User Attivo • 6 ott 2006, 05:25 ultima modifica di

                      Perché non usi

                      mysql_fetch_array() ?

                      Ti da un array dal quale puoi togliere molto più comodamente i valori...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • S
                        solocla User • 6 ott 2006, 10:01 ultima modifica di

                        Grazie
                        ci proverò

                        ma il mio problema non è tanto l'estrarre i dati

                        ma il fatto che mi si duplicano nel database!!

                        Non capisco!!

                        AIUTOOOO!!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • S
                          solocla User • 6 ott 2006, 17:26 ultima modifica di

                          nessuno mi sa aiutare?

                          help me!

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • S
                            scapritta User • 7 ott 2006, 10:56 ultima modifica di

                            se non ho capito male hai modificato il codice originario.

                            prova a postare il codice aggiornato 😉

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • S
                              solocla User • 7 ott 2006, 11:11 ultima modifica di

                              eccolo.....

                              <?php require_once('../Connections/normeonline.php'); ?>
                              <?php
                              mysql_select_db($database_normeonline, $normeonline);
                              ?>
                              <style type="text/css">
                              <!--
                              .Stile6 {
                              font-family: Arial, Helvetica, sans-serif;
                              font-size: 12px;
                              font-weight: bold;
                              }
                              -->
                              </style>
                              <div align="center"><a href="formuni.php" class="Stile6">Torna all'inserimento</a>

                              • <a href="catalogouni.php"><span class="Stile6">VISUALIZZA CATALOGO UNI</span></a><br>
                                <a href="cpanel.php"><span class="Stile6">TORNA AL PANNELLO DI CONTROLLO</span></a>
                                <?php
                                $data1=$_POST['normeuni'];
                                $data=$data1;
                                ?>
                                <?php
                                $norma = explode ("? ", $data);
                                foreach ($norma as $norma1) {
                                ?>
                                <?php
                                list($a1, $a2) = explode("

                              ", $norma1);
                              //a2 titolo sporco
                              list ($titolo) = explode ("UNI", $a2);
                              list($uni, $codiceanno) = explode(" ", $norma1);
                              ?>
                              <style type="text/css">
                              <!--
                              .Stile5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 10px; }
                              -->
                              </style>

                              </div>
                              <p></p>
                              <?php
                              $divcodice =$codiceanno;
                              list($cod, $anno) = explode(":", $divcodice);
                              ?>
                              <p></p>
                              <p> </p>
                              <?php
                              mysql_query("INSERT INTO uni VALUES ('', '$uni', '$cod', '$anno', '$titolo')") or die(mysql_error());
                              }
                              ?>

                              grazie

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • S
                                scapritta User • 7 ott 2006, 11:48 ultima modifica di

                                fai una cosa:

                                modifica

                                [php]
                                mysql_query("INSERT INTO uni VALUES ('', '$uni', '$cod', '$anno', '$titolo')") or die(mysql_error());
                                [/php]

                                con:

                                [php]
                                $prova = "INSERT INTO uni VALUES ('', '$uni', '$cod', '$anno', '$titolo')";
                                echo $prova;
                                mysql_query($prova) or die(mysql_error());
                                [/php]

                                e posta qui la stampa della variabile $prova (ovvero la query)

                                così cerchiamo di capire da dove proviene l'errore.

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • S
                                  solocla User • 7 ott 2006, 11:52 ultima modifica di

                                  eccolo

                                  INSERT INTO uni VALUES ('', '', '', '', '')

                                  INSERT INTO uni VALUES ('', 'UNI', '11170-1', '2005', 'Veicoli ferrotranviari - Linee guida per la protezione al fuoco dei veicoli ferrotranviari ed a via guidata - Principi generali ')

                                  ma il problema non è con poche righe!
                                  ma quando ne metto tante in ciclo!
                                  ad esempio se ne metto 200 o 400 impazzisce ridando il doppio delle righe o qualche volta meno righe!

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • S
                                    solocla User • 7 ott 2006, 11:54 ultima modifica di

                                    quella che ho messo è a 1 riga...

                                    ora ho provato con 400
                                    e succede che carica più volte la stessa pagina... come se senza refresh della pagina non riesca a inserire tutte le righe!!

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • S
                                      scapritta User • 7 ott 2006, 12:00 ultima modifica di

                                      quindi è come se lo script ripartisse da solo?
                                      quindi se in ciclo riuscisse a inserirne, che so, 50
                                      in teoria, ripartendo, dovrebbe riscriverti le stesse 50

                                      o forse ho capito male io...

                                      in ogni caso ti stampa una query doppia?

                                      (la prima con i campi vuoti?)

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • S
                                        solocla User • 7 ott 2006, 12:05 ultima modifica di

                                        ti faccio un esempio:

                                        se ne inserisco solo 50 me ne da 50 giuste (e la pagina si carica una sola volta)

                                        se ne inserisco 100, 200 , 400 sembra fare un refresh di pagina e continuare a caricare la pagina.... il risultato è che spesso rimangono tutte doppie altre volte qualcuno di meno del doppio!

                                        HELP MEEEE

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • S
                                          solocla User • 7 ott 2006, 12:08 ultima modifica di

                                          è talmente rapido che non riesco a fermarlo sul secondo o terzo refresh!

                                          ma sembra che faccia i primi ammettiamo 100 e poi riparte ancora!!

                                          poi la terza pagina rimane vuota!!

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          Caricamento altri post
                                          Rispondi
                                          • Topic risposta
                                          Effettua l'accesso per rispondere
                                          • Da Vecchi a Nuovi
                                          • Da Nuovi a Vecchi
                                          • Più Voti