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

    [oop] Database.class.php

    ragazzi vi incollo la mia classe Database...

    non riesco a far funzionare il metodo query()

    codice:
    <?php
    
    class database {
    	
    	var $conn;
    	
    	//connette la pagina php al database - void
    	function connetti() {
    		$this->conn = mysql_connect("localhost", "root", "")
    			or die("Errore mysql: ".$mysql_error());
    		mysql_select_db("tarini",$this->conn)
    			or die("Errore mysql: impossibile connettersi al database!");
    	}
    	
    	//chiude la connessione al database - void
    	function chiudi() {
    		mysql_close($this->conn);
    	}
    	
    	//esegue una query a partire dalla stringa - mysql pointer
    	function eseguiQuery($query) {
    		return mysql_query($query, $this->conn)
    			or die("Errore mysql: ".mysql_error());
    	}
    }
    
    ?>
    un biglietto da 100 euri a chi mi aiuta...

  2. #2
    se magari dici che errore hai ....

  3. #3
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    prova con
    codice:
    $return = mysql_query($query, $this->conn);
    if($return == TRUE){
        return $return;
                       }
    else{
        return false
         }
    Nunc Bibendum est!

  4. #4
    Originariamente inviato da bart87
    prova con
    codice:
    $return = mysql_query($query, $this->conn);
    if($return == TRUE){
        return $return;
                       }
    else{
        return false
         }
    ehm, cosi non è corretta

    sarebbe più adatta una cosa del genere...

    codice:
    $res = mysql_query($query, $this->conn);
    if(is_resource($res) === true){
        return $res;
    } elseif ($res === false) {
        return false;
    } else {
        return true;
    }
    mysql_query restituisce una risorsa se la query è andata a buon fine ed ha ritornato risultati, mentre un valore booleano false se è andata male o un valore booleano true se è andata bene ma non ha restituito risultati \

  5. #5
    Utente di HTML.it L'avatar di bart87
    Registrato dal
    Apr 2004
    Messaggi
    184
    Esatto, ieri ero un po' fuso
    Nunc Bibendum est!

  6. #6
    comunque, se restituisce false deve MORIRE ASSOLUTAMENTE lo script ^^

    quindi al posto di return false metterei o un gestore degli errori, se non ti senti pronto per fare una cosa del genere, metti un semplice

    die("Query: " . $query . "
    \r\nError: " . mysql_error() . "
    ");

    cosi almeno non ti continua

    cmq...dai un occhio a debug_backtrace per sapere esattamente quale parte di codice ha richiamato il metodo query della tua classe e puoi farlo stampare pure a video

    cmq...ci sono 3 momenti critici nei quali deve morire lo script se falliscono le operazioni...durante la connessione...durante il select del db e poi durante le query

    ah, ovviamente se implementi un piccolo gestore degli errori puoi mettere le chiocciole (@) davanti alle funzioni cosi a video non stampano errori ^^

  7. #7
    grazie ragazzi..
    con il if(is_resource()) ho risolto

    alla prossima

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.