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 con mysql_num_rows
Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
  • C
    cagio User • 16 apr 2006, 14:00 ultima modifica di

    Problema con mysql_num_rows

    Ciao a tutti. Sono nuovo di qui e colgo l'occasione di farvi gli auguri di Buona Pasqua. Passo subito al mio problema. Io vorrei ottenere il valore del campo 'ID' dell'ultimo record inserito in una tabella my sql; quindi dopo che ho creato la connesione scrivo questo:

    $query = "SELECT * FROM files2";
    $result = mysql_query ($query);
    $num = mysql_num_rows ($result);
    $i = 0;
    while ($info = mysql_fetch_row ($result)){
    if($i == $num){
    echo $info[0]; //info[0] corrisponde al campo ID
    }
    $i++;
    }

    Ora se lo lascio così non entra mai nell'if; mentre se al posto di $i mettessi manualmente il valore che corrisponde all'ultima riga inserita (chessò $num == 24) il frammento funziona correttamente.. Dove sbaglio? Sicuramente è un errore del cacchio, ma è tutto il giorno che programmo e mi si incrociano gli occhi... 😉

    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
       

    • C
      cagio User • 16 apr 2006, 14:07 ultima modifica di

      O se no se avete altre proposte su come agire sono ben accette... Mi affido a voi.. Grazie a tutti! 🙂

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        margheritebianche User Attivo • 16 apr 2006, 14:41 ultima modifica di

        Per ottenere l'id + alto inserito é sufficiente:

        select id from tabella order by id desc limit 1
        
        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • C
          cagio User • 16 apr 2006, 14:59 ultima modifica di

          Ciao ho fatto come mi hai detto:

          mysql_connect ($myhost,$myuser,$mypwd);
          mysql_select_db($mydb);

          $query = "SELECT ID FROM files2 ORDER BY ID desc limit 1";
          $result = mysql_query ($query);
          
          echo $result;
          
          mysql_close();   
          

          Mi stampa a video questo risultato: Resource id #29, che significa? Scusa ma è da poco che ho iniziato a studiare MySQL e sono un pò newbie.. 🙂

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            margheritebianche User Attivo • 16 apr 2006, 16:08 ultima modifica di

            mysql_query ritorna la risorsa che poi va letta con mysql_fetch...

            Fai così:

            mysql_connect ($myhost,$myuser,$mypwd);
            mysql_select_db($mydb);
            
            $query = "SELECT ID FROM files2 ORDER BY ID desc limit 1";
            $result = mysql_query ($query);
            $record = mysql_fetch_assoc($result);
            
            // DENTRO RECORD HO TUTTI I CAMPI DELLA SELECT
            // IN QUESTO CASO SOLO ID
            $id = $record['ID'];
            
            echo $id;
            
            mysql_close();
            
            
            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • C
              cagio User • 16 apr 2006, 16:49 ultima modifica di

              Ok sei un grande funziona perfettamente... Grazie ancora e buone feste..

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • C
                cagio User • 16 apr 2006, 21:36 ultima modifica di

                Ora però ho un altro problema... non so neanche io se è il caso di aprire una nuova discussione.. Allora io ho una pagina che funziona con il get a cui gli voglio passare due parametri, ovvero $sessione e $data, in modo che mi vada a trovare il record univoco di una tabella identificato appunto univocamente dalla coppia sessione-data. Sessione è ottenuto con la funzione session_id(), data è calolata con la funzione date('U'); la query che faccio dopo essermi connesso è la seguente:

                $query = "SELECT * FROM files2 WHERE data=".$_GET['data']." AND nomecasuale=".$_GET['sessione'];
                	$result = mysql_query ($query);
                  	$info = mysql_fetch_row ($result); 
                

                solo che sql mi da errore dicendomi: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in..
                Allora ho provato a semplificare non passando la coppia session e data, ma solo l'ID anchesso univoco ma ben poco sicuro da passare con il get.. E così facendo funziona:

                $query = "SELECT * FROM files2 WHERE ID=".$_GET['id'];
                	$result = mysql_query ($query);
                  	$info = mysql_fetch_row ($result);
                

                Solo che io non vorrei usare l'ID ma vorrei che mi funzionasse con la coppia sessione/data.. Mi potete aiutare? Grazie...[/code]

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • M
                  margheritebianche User Attivo • 17 apr 2006, 04:57 ultima modifica di

                  In questi casi consiglio sempre di fare un echo $query; subito dopo aver creato la stringa di interrogazione. Poi si vede cosa c'é scritto e magari si prova a copiaincollare direttamente come comando del dB. Se c'è qualche errore lo si vede subito!

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • C
                    cagio User • 17 apr 2006, 08:14 ultima modifica di

                    Hai ragione; non avevo voglia di fare un echo perchè pensavo che la query fosse giusta.. Invece mi ero dimenticato gli apici nei valori di session... :arrabbiato: Ore spese a cercare l'errore per niente...

                    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