Visualizzazione dei risultati da 1 a 10 su 10

Discussione: mysql_fetch_assoc()

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    mysql_fetch_assoc()

    ciao a tutti,

    ricevo un'errore
    codice:
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result
    a tutte due le linee in bold....

    codice:
    		$query_preventivo = "SELECT *  FROM preventivi WHERE utente = '$utente'";
    		   	if(mysql_query($query_preventivo, $connessione) or die(mysql_error())) {
    				$row_query_preventivo = mysql_fetch_assoc($query_preventivo);
    				$totalRows_query_preventivo = mysql_num_rows($query_preventivo);
    }

    :master:

  2. #2
    devi mettere l'identificatore del risultato reso da mysql_query e non la variabile con la query.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    e come... non capisco

    se if posso fare cosi
    Codice PHP:
            $query_preventivo "SELECT *  FROM preventivi WHERE utente = '$utente'";
            
    $esegui mysql_query($query_preventivo$connessione) or die(mysql_error())) 
            
    $row_query_preventivo mysql_fetch_assoc($esegui);
            
    $totalRows_query_preventivo mysql_num_rows($esegui); 
    ma con if... come lo metto....


    grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    $result = mysql_query($query, $db);
    if ($result) {
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    che stupida.....

    quando cado in basso per delle stupidaggini!!!


    grazie mille

  6. #6
    Originariamente inviato da Rossella_75
    e come... non capisco
    ma con if... come lo metto....


    grazie mille
    Sbagliatissimo mettere mysql_query() sotto if quando fai una SELECT. La SELECT ritorna "sempre" un identificativo di dove trovare il result set anche se il risultato fosse zero righe. Quindi sempre TRUE salvo non riscontri un errore formale che andresti a parare comunque con il DIE. Zero righe e' un risultato, non un errore.


    Sbagliato anche if($result) e' sempre true in assenza di errore. Devi contare le righe estratte.

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

  7. #7
    Codice PHP:

    $query_preventivo 
    "SELECT *  FROM preventivi WHERE utente = '$utente'"
            
    $esegui mysql_query($query_preventivo$connessione) or die(mysql_error())) 
     
           
    $totalRows_query_preventivo mysql_num_rows($esegui);

           If(
    $totalRows_query_preventivo 0) {
           
           while (
    $row_query_preventivo mysql_fetch_assoc($esegui) ) { 

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

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    avevo pensato di contarle successivamente le righe estratte, secondo te cosi è sbagliato,

    Codice PHP:
            $query_preventivo "SELECT *  FROM preventivi WHERE utente = '$utente'";
            
    $result mysql_query($query_preventivo$connessione) or die(mysql_error());
                   if(
    $result) {
                    
    $row_query_preventivo mysql_fetch_assoc($result);
                    
    $totalRows_query_preventivo mysql_num_rows($result); 
                        if(
    $totalRows_query_preventivo != ''){
                            
    $id_preventivo $row_query_preventivo['id']; 
    :master:

  9. #9
    ti ho risposto prima. Vediamo pero' quello che fai ora.

    codice:
    $query_preventivo = "SELECT *  FROM preventivi WHERE utente = '$utente'"; 
            $result = mysql_query($query_preventivo, $connessione) or die(mysql_error()); 
    
    // $result E' sempre vero. Se il risultato fosse stato FALSE lo avrebbe stoppato il DIE
    // quindi if inutile.
    
                   if($result) {
    
    // Se le righe estratte fossero ZERO questa operazione sarebbe inutile
                    $row_query_preventivo = mysql_fetch_assoc($result); 
    
                    $totalRows_query_preventivo = mysql_num_rows($result); 
    
    // se ti aspetti un valore > 0 non devi mettere "diverso da empty" ma > 0
    // se il risultato atteso fosse UNO, devi mettere == 1
    
                        if($totalRows_query_preventivo != ''){
     
                            $id_preventivo = $row_query_preventivo['id'];

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

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille per la spiegazione logica e dettagliata, come sempre sei un grande!


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.