Classe MySQL
Assim, desde que eu comecei essa classe, corrigi alguns erros, mas olhem só.
Fiz um novo SELECT, com menos parâmetros. Tirei os parâmetros AND, OR, ORDER, LIMIT e etc. para separá-los em funções diferentes.
Até aí sem problemas.
Só que apesar de estar melhor organizada, eu não consigo fazer duas coisas: Agregar as novas funções (ORDER, LIMIT e etc.) à, por exemplo, um SELECT E enviar tudo para a função run(), que executa a query passada.
Pessoal eu sou iniciante e peço ajuda com isso, pois força de vontade eu tenho, se me ajudarem com esse probleminha eu corro solto.
Eis a classe:
class MySQL{ var $query; var $link; var $result; var $cur_query = ""; // Constructor function MySQL() { } //------------------------------------------------------------------------- // Métodos de Abertura //------------------------------------------------------------------------- function connect() { // Carregando... require_once 'config.php'; $this -> link = mysql_connect( $INFO['host'], $INFO['user'], $INFO['pass'] ); if( ! $this -> link ) { print "<b>Error " . mysql_errno() . "</b>: " . mysql_error() . "."; exit(); } elseif ( ! mysql_select_db( $INFO['db'], $this -> link ) ) { print "<b>Error " . mysql_errno() . "</b>: " . mysql_error() . "."; exit(); } } //------------------------------------------------------------------------- // Métodos de Manipulação de Dados //------------------------------------------------------------------------- // SELECT function select( $get, $table, $where="" ) { $this -> cur_query = "SELECT $get FROM $table"; if( $where != "" ) { $this -> cur_query .= " WHERE $where"; } return $this -> cur_query; } // DELETE function delete( $table, $where="" ) { $this -> cur_query = "DELETE FROM $table"; if( $where != "" ) { $this -> cur_query .= " WHERE $where"; } return $this -> cur_query; } //------------------------------------------------------------------------- // Métodos Complementares //------------------------------------------------------------------------- function order( $order, $type="" ) { if( $order ) { $this -> cur_query .= " ORDER BY " . $order; if( $type != "" ) { $this -> cur_query .= " " . $type; } } } //------------------------------------------------------------------------- // Métodos de Retorno de Dados //------------------------------------------------------------------------- function fetch( $type, $resource ) { $this -> type = $type; $this -> resource = $resource; switch( $this -> type ) { case "array": return $this -> result = mysql_fetch_array( $this -> resource ); break; case "assoc": return $this -> result = mysql_fetch_assoc( $this -> resource ); break; case "object": return $this -> result = mysql_fetch_object( $this -> resource ); break; case "row"; return $this -> result = mysql_fetch_row( $this -> resource ); break; default: $this -> disconnect(); break; } } //------------------------------------------------------------------------- // Métodos de Encerramento //------------------------------------------------------------------------- function free() { return mysql_free_result( $this -> link ); } function disconnect() { return mysql_close( $this -> link ); }}Bem que podiam permitir anexos, ficaria menos os posts ;)
Daí uma vez resolvido esse impasse e a classe concluída eu poderia fazer diferentes versões dela, para PHP 4 e 5.
[]'s
Discussão (7)
Carregando comentários...