Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    warning anche se trova i dati

    Ciao a tutti, ho fatto questa funzione che passandole il nome della colonna del db che voglio e il risultato di una query select, mi valorizza una variabile. Funziona, mi stampa i dati richiesti ma mi da anche un warning:
    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given
    Il codice è questo, grazie a tutti


    Codice PHP:
     public function f_get_value($fields_name$result)       
     {            
         while(
    $row mysqli_fetch_array($resultMYSQLI_ASSOC))            
         {              
              
    $result $row[$fields_name];               
             print 
    $result;             
         }                                         
     } 

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    $result cosa contiene? lui si aspetta una risorsa (la query eseguita) e tu gli stai passando una stringa

  3. #3
    Quote Originariamente inviata da clasku Visualizza il messaggio
    $result cosa contiene? lui si aspetta una risorsa (la query eseguita) e tu gli stai passando una stringa
    $result è il risultato della query:
    $result = $link->query("SELECT.......");

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    sei sicuro che contenga proprio il risultato della query?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    Ciao a tutti, ho fatto questa funzione che passandole il nome della colonna del db che voglio e il risultato di una query select, mi valorizza una variabile. Funziona, mi stampa i dati richiesti ma mi da anche un warning:
    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given
    Il codice è questo, grazie a tutti


    Codice PHP:
     public function f_get_value($fields_name$result)       
     {            
         while(
    $row mysqli_fetch_array($resultMYSQLI_ASSOC))            
         {              
              
    $result $row[$fields_name];               
             print 
    $result;             
         }                                         
     } 
    E' normale se non funziona.
    Hai $result nel while che è un mysqli_result all'inizio che poi modifichi mettendo dentro una stringa.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Quote Originariamente inviata da clasku Visualizza il messaggio
    sei sicuro che contenga proprio il risultato della query?
    Corretto l' errore suggerito da Badaze ho provato a fare un var_dump($result) prima del while e mi da:
    object(mysqli_result)#6 (5) { ["current_field"]=> int(0) ["field_count"]=> int(4) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) } object(mysqli_result)#6 (5) { ["current_field"]=> int(0) ["field_count"]=> int(4) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }
    Quote Originariamente inviata da badaze Visualizza il messaggio
    E' normale se non funziona.
    Hai $result nel while che è un mysqli_result all'inizio che poi modifichi mettendo dentro una stringa.
    Ho provato cosi ma mi da pagina bianca, non mi printa nulla
    Codice PHP:
    public function f_get_value($fields_name$result)       
    {            
         while(
    $row mysqli_fetch_array($resultMYSQLI_ASSOC))            
          {               
                
    $return $row[$fields_name];               
                print 
    $return."<br>";             
           }      


  7. #7
    Codice PHP:
    public function f_get_value($fields_name$result)       
    {            
       while(
    $row mysqli_fetch_array($resultMYSQLI_ASSOC))            
        {               
            
    $return $row[$fields_name];               
            print 
    $return."<br>";            
        }                                             

    Boh adesso così funziona, mi printa la variabile e non mi da più il warning...mistero.
    Però se all' interno del ciclo while metto $return[] = $row[$fields_name]; non me la popola...perchè?
    Ultima modifica di camionistaxcaso; 10-05-2015 a 11:59

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    "Non me la popola" che vuol dire?
    Com'è il codice adesso? Hai solo sostituito $return con $return[] senza fare altro?
    In tal caso togli il print e metti fuori dal while print_r($return), vedi che dice.

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    "Non me la popola" che vuol dire?
    Com'è il codice adesso? Hai solo sostituito $return con $return[] senza fare altro?
    In tal caso togli il print e metti fuori dal while print_r($return), vedi che dice.
    Si ho fatto cosi:
    Codice PHP:
    public function f_get_value($fields_name$result)       
    {
       while(
    $row mysqli_fetch_array($resultMYSQLI_ASSOC))            
        {                              
          
    $return[] = $row[$fields_name];                            
        }                           
        return 
    $return;                   

    Poi nella pagina:
    Codice PHP:
    $option_value $o_db->f_get_value("id_jobs"$result); 
    E mi da questo errore:
    Notice: Undefined variable: option_value in C:\Program Files\xampp\htdocs\bs_site\home\sow\jobs_of_sow.ph p on line 82

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Oltre allo warning. Il tuo metodo non torna sempre un valore. Se non passi per il ciclo while quale valore viene tornato.
    Inizializzare le variabili è una cosa importantissima.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.