Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Errore in mysql_num_rows()

    Sono riuscito dopo qualche sforzo a collegarmi con un database (per adesso locale). Ma adesso mi dà un nuovo errore:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result

    Questa la parte di codice:

    $query = "SELECT * FROM Alunni WHERE Alunno_cognome=$cognome, Alunno_nome=$nome";
    $num=mysql_num_rows($query);

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    Codice PHP:
    $query "SELECT * FROM Alunni WHERE Alunno_cognome=$cognome, Alunno_nome=$nome";
    $q=mysql_query($query);
    $num=mysql_num_rows($q); 
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  3. #3
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Devi fare come dice Francis87, non puoi passare la query alla funzione mysql_num_rows() ma solo il suo "result" dopo che l'hai eseguita con mysql_query($query) cosa che non hai fatto e quindi la query non è mai stata eseguita.


  4. #4
    Originariamente inviato da Francis87
    Codice PHP:
    $query "SELECT * FROM Alunni WHERE Alunno_cognome='".$cognome."', Alunno_nome='".$nome."'";
    $q=mysql_query($query);
    $num=mysql_num_rows($q); 
    sempre meglio un po di visibilità :P

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    :master:
    Ho cambiato il codice come avete detto voi, ma il problema persiste e mi da sempre lo stesso errore...
    Per farlo andare uso EasyPHP, l'unico che conosco. Per caso c'è qualche impostazione strana da settare?

    A quanto ho capito non riesce a riconoscermi la funzione... Se volete, se serve, vi posto l'intero contenuto del php.

  6. #6
    metti la segnalazione di errore ....

    $q = mysql_query($query) or die(mysql_error()) ;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Con il tuo codice mi viene questo errore:

    Errore di sintassi nella query SQL vicino a ' Alunno_nome=Nome1' linea 1

    Dove "Nome1" è il nome che ho passato nel form che poi deve essere ricercato nel database. E' qui che sta l'errore allora? Ho sbagliato qualche sintassi?

  8. #8
    erroraccio. i valori in where sono uniti in modo logico e non separati da una virgola.

    codice:
    $query = "SELECT * 
                  FROM Alunni 
                  WHERE Alunno_cognome = '$cognome'
                  AND Alunno_nome = '$nome' ";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    quando vai a creare la connessione al db ricordati di mettere come user: root e la password vuota ^^

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    erroraccio. i valori in where sono uniti in modo logico e non separati da una virgola.
    Già, forse la virgola è fuori posto... si vede che sono ancora un dilettante
    Purtroppo però il problema persiste, è sempre lo stesso.
    A questo punto provo a postarvi tutto il php, perchè questo codice comincia davvero a farmi fondere il cervello. Devo riuscire a sistemarlo entro una settimana, perchè altrimenti mi trovo troppo in ritardo con il lavoro. A chi trova l'errore pago una birra

    <?php
    include("../config.php");

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");

    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    $query = "SELECT * FROM Alunni WHERE Alunno_cognome = '$cognome' AND Alunno_nome = '$nome'";
    $num = mysql_num_rows($query);
    for($i=0;$i<$num;$i++){;
    //Richiamo dei campi dal database
    $classe=mysql_result($query,$i, "Alunno_classe");
    $sezione=mysql_result($query,$i, "Alunno_sezione");
    $fascia=mysql_result($query,$i, "Alunno_fascia");
    $corso=mysql_result($query,$i, "Alunno_corso");
    $cognome=mysql_result($query,$i, "Alunno_cognome");
    $nome=mysql_result($query,$i, "Alunno_nome");
    //Visualizzazione dei dati in una tabella
    if($i%2==0){
    echo "<tr>";
    echo "<td class="."tabDispari".">$classe</td>";
    echo "<td class="."tabDispari".">$sezione</td>";
    echo "<td class="."tabDispari".">$fascia</td>";
    echo "<td class="."tabDispari".">$cognome</td>";
    echo "<td class="."tabDispari".">$nome</td>";
    echo "</tr>";
    }
    else{
    echo "<tr>";
    echo "<td class="."tabPari".">$classe</td>";
    echo "<td class="."tabPari".">$sezione</td>";
    echo "<td class="."tabPari".">$fascia</td>";
    echo "<td class="."tabPari".">$cognome</td>";
    echo "<td class="."tabPari".">$nome</td>";
    echo "</tr>";
    }
    }

    mysql_close($db);
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.