Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 34
  1. #21
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Effettivamente, c'è qualcosa di strano.

    Confermo che connessione a mysql ed esecuzione query sono corrette poichè ho provato ad usare il metodo fetch_array che restituisce un array con i risultati. Ho provato a usare print_r e stampa questo:

    codice:
    Array
    (
        [0] => Array
            (
                [0] => 1
                [id_admin] => 1
                [1] => gaten
                [username] => gaten
                [2] => 6e6bc4e49dd477ebc98ef4046c067b5f
                [password] => 6e6bc4e49dd477ebc98ef4046c067b5f
                [3] => dasdasd
                [logkey] => dasdasd
            )
    
    )
    qualcosa di veramente strano, datosì che dovrebbe stampare semplicemente:
    [id_admin], [username], [password], [logkey], gli altri indici non sò perchè li ricopia...
    Con i sogni possiamo conoscere il futuro...

  2. #22
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Originariamente inviato da Leilond
    Sicuro che mysql_connect è andato bene?
    Sicuro che mysql_select_db è andato bene?

    Qui tutto lascia supporre che il query va male e se la sintassi è corretta, il problema deve essere altrove, ma sempre a livello di mysql, poichè execute stesso restituisce false e ciò è possibile solo nel caso in cui il query sia sbagliato o non possa essere eseguito per qualche motivo (database diverso da quello immaginato o non selezionato, connessione fallita o chiusa ecc)
    Li altri li copia perchè fetch_array fornisce l'array nelle due forme, associativa e numerale
    Se vuoi solo la forma associativa devi usare fetch_assoc
    Rimane il problema dell'execute che risponde false

    intanto correggi la funzione execute, perchè come l'hai scritta tu esegue il query 2 volte ed è uno spreco di risorse
    Inoltre le parentesi graffe, sono opzionali, ma "non lo sono" , nel senso che è sempre meglio metterle
    Codice PHP:
        public function execute($sql) {
            
    $result $this->mysqli->query($sql);
            if( 
    $result ) {
               return 
    $result;
            } else {
               return 
    false;
            }
        } 
    Controllerei la funzione query del tuo oggetto.. perchè ho come l'impressione che sia lei ha ritornare "null"

  3. #23
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    In primis ho risolto il problema del fetch in questo modo:

    Codice PHP:
        // fetch sul risultato di una query
        
    public function fetch_array($sql){
            
    $result $this->execute($sql);
                    
            if ( 
    $result ) {
                        
    $row $result->fetch_assoc();    
                         
            
    $result->close();
                
            return 
    $row;
            }
        } 
    il risultato ora è:

    codice:
    Array
    (
        [id_admin] => 1
        [username] => gaten
        [password] => 6e6bc4e49dd477ebc98ef4046c067b5f
        [logkey] => dasdasd
    )
    Questo significa che l'execute con la query data come parametro, viene eseguita perfettamente e per transitività, va bene anche la connessione e selezione del database. Sei d'accordo?

    Adesso, bisogna concentrarsi solo sul metodo checkUser e l'utilizzo di execute al suo interno
    Con i sogni possiamo conoscere il futuro...

  4. #24
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Leilond, come fà a restituire null, se execute funziona???
    Ti ho dato la dimostrazione stampandoti a video il fetch dei risultati.
    Con i sogni possiamo conoscere il futuro...

  5. #25
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Perfetto

    Ora proviamo a testare lentamente la tua funzione
    Cambiala così
    Codice PHP:
        public function checkUser($sql) {
            echo 
    $sql "

    "
    ;
            
    $result $this->execute($sql);
            if ( 
    $result ) {
               echo 
    "OK";
            } else {
               echo 
    "Errore";
            }
        } 
    E vedi cosa ti stampa

  6. #26
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Credo di aver svelato l'errore,

    praticamente ho provato a fare questo:

    Codice PHP:
        public function checkUser($sql){ 
            echo 
    $sql;

            echo 
    "<pre>";
            
    print_r($this->fetch_array($sql));
            echo 
    "</pre>";
        } 
    Non stampa nulla, questo significa che i metodo all'interno del metodo checkUser, non vengono considerati , eppure io faccio class Utente extends Database... non riesco proprio a capire il perchè.
    Con i sogni possiamo conoscere il futuro...

  7. #27
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Originariamente inviato da gaten
    Credo di aver svelato l'errore,

    praticamente ho provato a fare questo:

    Codice PHP:
        public function checkUser($sql){ 
            echo 
    $sql;

            echo 
    "<pre>";
            
    print_r($this->fetch_array($sql));
            echo 
    "</pre>";
        } 
    Non stampa nulla, questo significa che i metodo all'interno del metodo checkUser, non vengono considerati , eppure io faccio class Utente extends Database... non riesco proprio a capire il perchè.
    Così come l'hai scritta tu manca la execute però
    E comunque almeno il tuo $sql lo doveva stampare, a meno che la variabile $sql non venga passata "male"!

  8. #28
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    l'echo $sql, lo fa correttamente, però non mi fà il print_r.
    Con i sogni possiamo conoscere il futuro...

  9. #29
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Andiamo per passi però
    Prova prima questo
    Codice PHP:
    public function checkUser($sql) {
            echo 
    $sql "

    "
    ;
            
    $result $this->execute($sql);
            if ( 
    $result ) {
               echo 
    "OK";
            } else {
               echo 
    "Errore";
            }
        } 
    E dicci cosa stampa

  10. #30
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Errore
    Con i sogni possiamo conoscere il futuro...

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.