Navigazione

    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