Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Aiuto per classe mysql

  1. #1

    Aiuto per classe mysql

    Salve ragazzi, scusate della domanda stupida, ma non ho mai lavorato prima con le classi, in giro ho trovato questo script per facilitare le query in mysql, ecco il codice:

    Codice PHP:
    class mysql {

    //connessione al DBMS
     
    function Connect($dbhost$dbuser$dbpasswd$dbname){
      
    $connessione = @mysql_connect("$dbhost","$dbuser","$dbpasswd");

    //selezione del database
      
    @mysql_select_db("$dbname"$connessione);
      }

    //query sulla tabella 
     
    function Query($sql){
      
    $sql = @mysql_query($sql) or die (mysql_error());
      return 
    $sql;
      }

    //estrazione di un record
     
    function FetchRow($sql){
      
    $rows = @mysql_fetch_row($sql);
      return 
    $rows;
      }

    //conteggio dei records
     
    function FetchNum($sql){
      
    $num = @mysql_num_rows($sql);
      return 
    $num;
      }

    //estrazione dei records  
      
    function FetchArray($sql){
      
    $array = @mysql_fetch_array($sql);
      return 
    $array;
      }

    //chiusura della connessione
     
    function Close(){
      @
    mysql_close();
      }

    Ora come posso richiamare ad esempio la funzione FetchArray() in una pagina.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    innanzitutto elimina tutte quelle '@' dal codice, sopprimono gli errori e i warning a video, e non mi pare il caso.

    Per rispondere alla tua domanda, prova con:

    Codice PHP:
    $mysql = new mysql();
    $tua_query $mysql->Query('SELECT ...');
    $array_risultati $mysql->FetchArray($tua_query); 
    ma quella credo che sia la classe più inutile del mondo, dove l'hai trovata?

    Dai un'occhiata a PDO (googla un pò, ci sono un sacco di tutorial ed esempi concreti)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  3. #3
    Grazie per la risposta

    Perchè dici che è inutile?
    In cosa manca?

    Grazie

  4. #4
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da intimoviro
    Grazie per la risposta

    Perchè dici che è inutile?
    In cosa manca?

    Grazie
    Più che elencare quello che gli manca, faccio prima ad elencare quello che fà: niente.

    Scusa, ma che differenza c'è dall'usare quella classe a usare le normali funzioni mysql_connect, mysql_query e mysql_fetch_array?

    nada!

    non ha neahce un construct, o un deconstruc (nel quale magari uno poteva mettere la chiusura della connessione, così si evitava di mettere $mysql->Close(); alla fine di ogni script!)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  5. #5
    La vera forza di una OOP è quella che al termine di operazioni come quelle sul db uno dovrebbe avere tra le mani collezioni di oggetti che rappresentino le entità del database e i vari record salvati in esso, non array senza senso passati un pò alla rinfusa da fetch_Array vari...

    Come detto, quella classe non fa nulla e cmq usata in un contesto non orientato ad oggetti non serve proprio ad una sega, se non ad evitare una/due righe di codice qua e là... poi come fatto notare la mancanza di costruttori e decostruttori è quasi ridicola soprattutto vista l'importanza che riveste l'uso di una connessione ad un database e l'impatto che quest'ultima ha sulle performance dell'applicativo

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.