Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    39

    Problema con mysql_num_rows()

    Salve a tutti ho un problema con questa funzione, in pratica se nel db sono presenti dei record tutto funziona come dovere, ma nel caso in cui non sia presente alcun record la funzione non ritorna alcun valore.
    Mi spiego, qui http://php.net/manual/en/function.mysql-num-rows.php ho letto che la funzione restituisce un FALSE se non riesce ad effettuare il conteggio, in ogni caso posto il codice
    Codice PHP:
    $query="SELECT * FROM messaggio where cod_associato='".$cod."'"// query che devo effettuare
    $query_count = @mysql_query($query) or die (mysql_error()); 
    $count = @mysql_num_rows($query_count) or die (mysql_error()); // il valore di count mi serve per settare
                                                                                                    // la paginazione
    if ($count==0// controllo che io ho inserito per vedere se prendeva qualche valore
    echo 'ciao'
    so che nel db non ci sono messaggi riferiti a quel cod_associato in ogni caso mi serve controllare quando il numero di righe è nullo per stampare una cosa diversa
    Ringrazio anticipatamente tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    39
    ok credo di aver risolto anche se la soluzione non mi piace piu di tanto

    ho inserito prima di fare il conto delle righe un
    Codice PHP:
    $row=@mysql_fetch_assoc($query_count
    in seguito ho fatto un controllo su la variabile $row in questo modo

    Codice PHP:
    if(empty($row)) 
    se $row invece è piena e non empty allora procede al calcolo delle righe con
    Codice PHP:
    $count = @mysql_num_rows($query_count) or die (mysql_error()); 

    comunque la cosa che non mi spiego è perchè se faccio un
    Codice PHP:
    if($count==0
    dopo avere seguito il conto delle righe (che ripeto so per certo essere zero perchè il db l'ho creato io e per il momento mi serve che sia zero )
    lo script sembra bloccarsi cioè non esegue alcuna operazione dopo la funzione mysql_num_rows()
    se qualcuno sa darmi qualche delucidazione gliene sarei grato

    grazie a tutti

  3. #3
    Codice PHP:
    $query "SELECT count(*) 
              FROM messaggio 
              where cod_associato = '"
    .$cod."'"
    $query_count mysql_query($query) or die (mysql_error());

    $count mysql_fetch_row($query_count);
                                                                                                   
    if (
    $count[0] == 0) {
         echo 
    'ciao';


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

  4. #4
    mysql_num_rows() ritorna il numero di record interessati dalla query. Restituisce FALSE solo quando si verifica un errore "grave", tipo tabella o campo inesistente. Secondo me la puoi utilizzare comunque, magari inserendo dei controlli sulla correttezza della query. oppure, visto che sono le 23.54 ho preso un grosso abbaglio?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.