Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [php] connessione db su una funzione e script

    Ciao a tutti in questo script ci sono 2 errori che ho individuato ma che non sò risolvere....

    Codice PHP:
    <?php 
    function infoUser($iduser){
    //Devo includere il file di connessione al database e quindi verifico se il file esiste:
    $urlFilediConnessioneDb "./Connections/miodatabase.php";
    if (
    file_exists($urlFilediConnessioneDb)) {
        } else { 
        
    $urlFilediConnessioneDb "../Connections/miodatabase.php"
    }
    require_once(
    $urlFilediConnessioneDb);
    //connessione db
    mysql_select_db($database_miodatabase$miodatabase);
    $query_User "SELECT username, user_posts, user_avatar_type, user_avatar FROM phpbb_users WHERE user_id = ".$iduser;
    $User_rs mysql_query($query_User$miodatabase) or die(mysql_error());
    $row_User mysql_fetch_assoc($User_rs);
    //Operzioni per ricavare l'URL dell'avatar
    $tipoavatar $row_User['user_avatar_type'];
    $avatardalforum $row_User['user_avatar'];
    if (
    $tipoavatar == 0) {
            
    $n sprintf('%03d'rand(1,121));
        
    $avatar directory_sito.dir_forum_avatar."/gallery/gallery/$n.gif";
        } elseif (
    $tipoavatar == 3) {
            
    $avatar directory_sito.dir_forum_avatar."/gallery/".$avatardalforum;
        } else {
            
    $avatar "forum/images/avatars/".$avatardalforum;
    }
    //definisco l'array con tutte le informazioni rilevate
    $User = array("username" => $row_User['username'],
                  
    "post" => $row_User['user_posts'],
                  
    "avatar" => $avatar);
    global 
    $User;
    }
    ?>
    allora: primo errore non mi include il file miodatabase.php ma questo è risolvibile copiando il codice di questo file manualmente su questo script;
    secondo errore: la query sql è esatta xkè con il phpmyadmin funziona senza problemi, ma $row_User in questo script appare senza nessun risultato, vuoto, qualsiasi chiave di tale array è vuoto.
    Ho sbagliato qualcosa? E global $User è giusto x adoperare questa array anche fuori dalla funzione?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    dovresti fare un print mysql_num_rows($User_rs); dopo l'esecuzione della query x vedere se ritorna un elemento.

    il global lo metterei all'inizio della funzione. potresti anche fare un return $User;

  3. #3
    Originariamente inviato da badaze
    dovresti fare un print mysql_num_rows($User_rs); dopo l'esecuzione della query x vedere se ritorna un elemento.

    il global lo metterei all'inizio della funzione. potresti anche fare un return $User;
    allora metterndo il print mysql_num_rows($User_rs) mi stampa a video 1 e quindi dovrebbe essere giusto...

    ma se io quando includo questo file e lancio tale funzione....poi nella pagina se io scrivessi:
    Codice PHP:
     php echo $User['username']; 
    xkè non mi restituisce nulla?

    non sò se centra ma questa funzione in una pagina deve essere utilizzata circa 12 volte.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    e se fai un print_r($row_User ); ?

  5. #5
    allora con print_r($row_User) mi restituisce i valori senza problemi...nel mio caso:
    Array ( [username] => zannas [user_posts] => 274 [user_avatar_type] => 1 [user_avatar] => 59424857841a354f460027.gif )
    se invece faccio: print_r($User) non mi restituisce a video nulla.

  6. #6
    lo hai dichiarato globale prima di definirlo nella funzione?
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  7. #7
    dichiarato globale cosa? lo script è quello che ho postato solo che non funz..

  8. #8
    non
    codice:
     //definisco l'array con tutte le informazioni rilevate
     $User = array("username" => $row_User['username'],
                  "post" => $row_User['user_posts'],
                  "avatar" => $avatar);
     global $User;
    }
    ma
    codice:
    global $User;
    
    //definisco l'array con tutte le informazioni rilevate
    $User = array("username" => $row_User['username'],
                  "post" => $row_User['user_posts'],
                  "avatar" => $avatar);
    }
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  9. #9
    FUNZIONAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Grazie 1000 davvero xrò non ho capito xkè con il global sotto non funziona....dovrebbe essere la stessa cosa no? Bhè...Amen...se vi va spiegatemelo altrimenti fà lo stesso..
    Ah...approposito....io però ho risolto il secondo errore, ma il primo? Nello script qui in locale x farlo funzionare ho copiato manualmente il file miodatabase.php....xkè invece non me lo include? Forse devo usare include invece che include_once? e infatti funziona...se uso require_once non funziona con require invece funziona...come mai? xkè? Quanti grattacapi con il php...

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.