Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Clase para usar con BDatos Parte1

Estas en el tema de Clase para usar con BDatos Parte1 en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Bueno está fue una clase que me encontré un poco incompleta en Internet y la bajé y le hice modificaciones para que trabajara con MSSQL. ...
  #1 (permalink)  
Antiguo 23/01/2005, 14:27
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años, 1 mes
Puntos: 1
Clase para usar con BDatos Parte1

Bueno está fue una clase que me encontré un poco incompleta en Internet y la bajé y le hice modificaciones para que trabajara con MSSQL. Estoy estudiando un poco más para poder extenderla a Oracle y a Firebird. La tengo que picar en partes porque el Foro no me deja publicar mensajes muy extensos.
Parte 1: Fijarse que todo pertenece a la clase EasySQL por lo que el parentesis de la clase EasySQL cierra al final de todo.
Código PHP:
<?php
 
class EasySQL{
  var 
$SQLDatabase// (objeto)   Tipo Mixto. Puede tener instancias diferentes dependiendo del SGBD usado
  
var $SQLQuery;    // (objeto)   Crea consultas SQL de tipo: SQLQuery
  
var $connection;  // (recurso)  Conección con la BDatos
  
var $result;      // (recurso)  Recurso identificativo retornado por la clausula SELECT, o booleano si las clausulas fueron INSERT, UPDATE o DELETE
  
var $total_rows;  // (valor)    Número de filas seleccionadas o afectadas (INSERT, UPDATE, DELETE) por la última consulta ejecutada

  
function EasySQL($SQLDatabase ""$host ""$user ""$password ""$db_name ""$port ""){
   
$_default['SQLDatabase'] = "";          //  SGBD por defecto (Ejemplo: "MySQL", "PostGreSQL", "SQLite", "SQL")
   
$_default['host']        = "localhost"//  Servidor o Host donde se haya hospedada la BDatos
   
$_default['user']        = "root";      //  Usuario de conexión a la BDatos
   
$_default['password']    = "";          //  Contraseña para acceder a la BDatos
   
$_default['db_name']     = "";          //  BDatos que será seleccionada
   
$_default['port']        = "";          //  Puerto de acceso a el SGBD. Dejar en blanco para usar el que trae la clase por defecto
   
   
$SQLDatabase = ($SQLDatabase != "")  ?  (string)$SQLDatabase  :  $_default['SQLDatabase'];
   
$host        = ($host != "")         ?  (string)$host         :  $_default['host'];
   
$user        = ($user != "")         ?  (string)$user         :  $_default['user'];
   
$password    = ($password != "")     ?  (string)$password     :  $_default['password'];
   
$db_name     = ($db_name != "")      ?  (string)$db_name      :  $_default['db_name'];
   
$port        = ($port != "")         ?  (int)$port            :  $_default['port'];
   
   
$this->SQLQuery = new SQLQuery();
   if(
preg_match("/^(0|mysql)$/i",trim($SQLDatabase))){
   
// MySQL
    
if (!function_exists("mysql_connect")){
     
$this->error("Librería MySQL no encontrada.");
     return 
false;
    }else if(!
class_exists("MySQL")){
     
$this->error("No se ha podido cargar la clase <strong>MySQL</strong>. Abortando <strong>" __CLASS__ "</strong> ejecución de la clase.");
     return 
false;
    }
    
$this->SQLDatabase = new MySQL($host$user$password$db_name$port);
   }else if(
preg_match("/^(1|pg|postgre(s|sql)?)$/i",trim($SQLDatabase))){
   
// PostGreSQL
    
if (!function_exists("pg_connect")){
     
$this->error("Librería PostGreSQL no encontrada.");
     return 
false;
    }else if (!
class_exists("PostGreSQL")){
     
$this->error("No se ha podido cargar la clase <strong>PostGreSQL</strong>. Abortando ejecución de la clase <strong>" __CLASS__ "</strong>.");
     return 
false;
    }
     
$this->SQLDatabase = new PostGreSQL($host$user$password$db_name$port);
   }else if (
preg_match("/^(2|sqlite)$/i",trim($SQLDatabase))){
   
// SQLite
    
if (!function_exists("sqlite_open")){
     
$this->error("Librería SQLite no encontrada.");
     return 
false;
    }else if (!
class_exists("SQLite")){
     
$this->error("No se ha podido cargar la clase <strong>SQLite</strong>. Abortando ejecución de la clase <strong>" __CLASS__ "</strong>.");
     return 
false;
    }
     
$this->SQLDatabase = new SQLite($host$user$password$db_name$port);
   }else if (
preg_match("/^(2|sql)$/i",trim($SQLDatabase))){
   
// SQL Server
    
if (!function_exists("sql_open")){
     
$this->error("Librería SQL no encontrada.");
     return 
false;
    }else if (!
class_exists("SQL")){
     
$this->error("No se ha podido cargar la clase <strong>SQL</strong>. Abortando ejecución de la clase <strong>" __CLASS__ "</strong>.");
     return 
false;
    }
     
$this->SQLDatabase = new SQL($host$user$password$db_name$port);
   }else{
    
$this->error("No se ha definido el tipo de Bases de Datos! Abortando ejecución de la clase <strong>" __CLASS__ "</strong>.");
    return 
false;
   }

   
$this->connection false;
   
$this->result     false;
   
$this->total_rows 0;
  }

  function 
connect($db_name ""){
   
$db_name = ($db_name != "")?$db_name:$this->SQLDatabase->db_name;
   
$this->SQLDatabase->connect($this->connection$db_namefalse);
   return 
$this->connection;
  }

  function 
pconnect($db_name ""){
   
$db_name = ($db_name != "")?$db_name:$this->SQLDatabase->db_name;
   
$this->SQLDatabase->connect($this->connection$db_nametrue);
   return 
$this->connection;
  }

  function 
disconnect(){
   return 
$this->SQLDatabase->disconnect($this->connection);
  }

  function 
close(){
   return 
$this->disconnect();
  }

  function 
query($query){
   
$was_connected    true;
   
$this->result     false;
   
$this->total_rows 0;
   if(!
$this->connection){
    
$was_connected false;
     if(!
$this->connect()){
      
$this->error();
      return 
false;
     }
   }
   
$this->result $this->SQLDatabase->query($query$this->connection);
   if(!
$this->result){
    
$this->error();
    return 
false;
   }
   if(
is_bool($this->result)){
    
$this->total_rows $this->SQLDatabase->affectedRows($this->result$this->connection);
   }
   if(!
$was_connected){
    
$this->disconnect();
   }
   return 
$this->result;
  }

  function 
fetchArray($result=""){
   if(
$result==""){
    
$result = &$this->result;
   }
   return 
$this->SQLDatabase->fetchArray($result);
  }

  function 
fetchRow($result=""){
   if(
$result==""){
    
$result = &$this->result;
   }
   return 
$this->SQLDatabase->fetchRow($result);
  }

  function 
fetchAssoc($result=""){
   if (
$result==""){
    
$result = &$this->result;
   }
   return 
$this->SQLDatabase->fetchAssoc($result);
  }

  function 
error($message=""){
   if(
$message==""){
    
$message $this->SQLDatabase->error($this->connection);
   }
   echo 
'<br /><span style="padding: 1px 7px 1px 7px; background-color: #ffd7d7; font-family: verdana; color: #000000; font-size: 13px;"><span style="color: #ff0000; font-weight: bold;">Error!</span> ' $message '</span><br />';
  }

  function 
useDatabase($db_name){
   
$this->SQLDatabase->db_name = (string)$db_name;
  }

  function 
useTable($table){
   
$this->SQLQuery->table = (string)$table;
  }

  function 
setFieldValue($field,$value,$is_sql_function=false){
   
$field = (string)$this->SQLDatabase->escape($field);
   
$value = (string)$this->SQLDatabase->escape($value);
   
$this->SQLQuery->values[$field]['value']           = $value;
   
$this->SQLQuery->values[$field]['is_sql_function'] = (bool)$is_sql_function;
  }

  function 
setWhere($where){
   
$this->SQLQuery->where = (string)$where;
  }

  function 
setLimit($limit){
   
$this->SQLQuery->limit = (string)$limit;
  }

  function 
setSelection($selection){
   
$this->SQLQuery->selection = (string)$selection;
  }

  function 
select(){
   
$no_limit_query $this->SQLQuery->createSelect(false);
   
$return_query   $this->SQLQuery->createSelect();
   
$result         $this->query($return_query);
   if(!
$result){
    return 
false;
   }
   
$this->total_rows $this->SQLDatabase->numRows($this->query($no_limit_query));
   return 
$result;
  }

  function 
Insert(){
   return 
$this->query($this->SQLQuery->createInsert());
  }

  function 
Update(){
   return 
$this->query($this->SQLQuery->createUpdate());
  }

  function 
Delete(){
   return 
$this->query($this->SQLQuery->createDelete());
  }

  function 
Truncate(){
   return 
$this->query($this->SQLQuery->createTruncate());
  }
 }
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 23/01/2005, 14:30
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años, 1 mes
Puntos: 1
Parte 2

Código PHP:
 class SQLQuery{
  var 
$query;     // (string)  Última consulta creada
  
var $table;     // (string)  Tabla usada
  
var $values;    // (array)   Cada elemento es un nuevo arreglo con llaves que son los nombres de los campos. Cada nuevo arreglo contiene los elementos: (string) "value" y (bool) "is_sql_function"
  
var $where;     // (string)  clausula "WHERE"
  
var $limit;     // (string)  clausula "LIMIT"
  
var $selection// (string)  Selección de la clausula SELECT: "SELECT (selection) FROM table;"

  
function SQLQuery(){
   
$this->query "";
   
$this->table        "";
   
$this->values       = array();
   
$this->where        "";
   
$this->limit        "";
   
$this->selection    "*";
  }

  function 
createSelect($use_limit_clause true){
   if(
$this->selection==""  ||  $this->table==""){
    if(
$use_limit_clause){
     if(
$this->selection==""){
      
$this->error('No se ha podido ejecutar la consulta "SELECT". El parámetro <strong>"selección"</strong> está vacío.');
     }
     if(
$this->table==""){
      
$this->error('No se ha podido ejecutar la consulta "SELECT". El parámetro <strong>"tabla"</strong> está vacío.');
     }
    }
    return 
false;
   }

   
$this->query  "SELECT " $this->selection " FROM " $this->table $this->returnWhere();
   
$this->query .= ($use_limit_clause)  ?  $this->returnLimit()  :  "";
   return 
$this->query;
  }

  function 
createInsert(){
   if(
$this->table==""  ||  count($this->values)==0){
    if(
$this->table=="") {
     
$this->error('No se ha podido ejecutar la consulta "INSERT". El parámetro <strong>"tabla"</strong> está vacío.');
    }
    if (
count($this->values) == 0) {
     
$this->error('No se ha podido ejecutar la consulta "INSERT". El parámetro <strong>"valores (VALUES)"</strong> está vacío.');
    }
    return 
false;
   }
   
$values $fields = array();
   foreach(
$this->values as $fieldName => $fieldSettings){
    
$fields[] = $fieldName;
    if (
$fieldSettings['value']===NULL){
     
$values[] = "NULL";
    }else if(
$fieldSettings['is_sql_function']){
     
$values[] = $fieldSettings['value'];
    }else{
     
$values[] = "'" $fieldSettings['value'] . "'";
    }
   }
   
$values " (" .   implode(', '$fields)   . ") VALUES (" .   implode(', '$values)   . ")";
   
$this->query "INSERT INTO " $this->table $values;
   return 
$this->query;
  }

  function 
createUpdate(){
   if (
$this->table == ""  ||  count($this->values) == 0  ||  $this->where == ""){
    if (
$this->table == ""){
     
$this->error('No se ha podido ejecutar la consulta "UPDATE". El parámetro <strong>"tabla"</strong> está vacío.');
    }
    if (
count($this->values) == 0){
     
$this->error('No se ha podido ejecutar la consulta "UPDATE". El parámetro <strong>"valores (VALUES)"</strong> está vacío.');
    }
    if (
$this->where == "") {
     
$this->error('Safety procedure: La consulta "UPDATE" no ha sido ejecutada porque la clausula <strong>"WHERE"</strong> está vacía.');
    }
    return 
false;
   }
   
$values $fields = array();
   foreach(
$this->values as $fieldName => $fieldSettings){
    if(
$fieldSettings['value'] === NULL){
     
$values[] = $fieldName " = NULL";
    }else if(
$fieldSettings['is_sql_function']){
     
$values[] = $fieldName " = " $fieldSettings['value'];
    }else{
     
$values[] = $fieldName " = '" $fieldSettings['value'] . "'";
    }
   }
   
$values " SET " .   implode(', '$values);
   
$this->query "UPDATE " $this->table $values $this->returnWhere() . $this->returnLimit();
   return 
$this->query;
  }

  function 
createDelete(){
   if(
$this->table == ""  ||  $this->where == ""){
    if (
$this->table == ""){
     
$this->error('No se ha podido ejecutar la consulta "DELETE". El parámetro <strong>"tabla"</strong> está vacío.');
    }
    if (
$this->where == ""){
     
$this->error('Safety procedure: "DELETE" query was not created because <strong>"where"</strong> clause was empty.');
    }
    return 
false;
   }
   
$this->query "DELETE FROM " $this->table $this->returnWhere() . $this->returnLimit();
   return 
$this->query;
  }

  function 
createTruncate(){
   if (
$this->table == ""){
    
$this->error('No se ha podido ejecutar la consulta "TRUNCATE". El parámetro <strong>"tabla"</strong> está vacío.');
    return 
false;
   }
   
$this->query "TRUNCATE TABLE " $this->table;
   return 
$this->query;
  }

  function 
returnWhere(){
   
$where = ($this->where != "")  ?  (" WHERE (" $this->where ")")  :  "";
   return 
$where;
  }

  function 
returnLimit(){
   
$limit = ($this->limit != "")  ?  (" LIMIT " $this->limit)  :  "";
   return 
$limit;
  }

  function 
error($message ""){
   echo 
'<br /><span style="padding: 1px 7px 1px 7px; background-color: #ffd7d7; font-family: verdana; color: #000000; font-size: 13px;"><span style="color: #ff0000; font-weight: bold;">Error!</span> ' $message '</span><br />';
  }
 } 
__________________
Ing. Reynier Pérez Mira
  #3 (permalink)  
Antiguo 23/01/2005, 14:31
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años, 1 mes
Puntos: 1
Parte 3

Código PHP:
 // Clase para BDatos MySQL
 
class MySQL{
  var 
$host;     // (string)  Servidor Host donde se haya la BDatos, puede ser el IP o el nombre de dominio
                 // IP : $host = "xxx.xxx.xxx.xxx";
                 // Nombre de Dominio : $host = "www.miservidor.com";
  
var $user;     // (string)  Usuario de conexión a BDatos
  
var $password// (string)  Contraseña de Conexión a BDatos
  
var $db_name;  // (string)  Base de Datos con la cual se trabajará
  
var $port;     // (int)     Puerto por donde será accedida la BDatos

  
function MySQL($host ""$user ""$password ""$db_name ""$port ""){
   
$this->host     = ($host != "")      ?  (string)$host      :  "localhost";
   
$this->user     = ($user != "")      ?  (string)$user      :  "root";
   
$this->password = ($password != "")  ?  (string)$password  :  "";
   
$this->db_name  = ($db_name != "")   ?  (string)$db_name   :  "";
   
$this->port     = ($port != "")      ?  (int)$port         :  3306;
  }

  function 
connect(&$connection$db_name$is_persistent false){
   
$db_name = ($db_name != "")  ?  $db_name  :  $this->db_name;
   if (!
$is_persistent){
    
$connection = @mysql_connect($this->host.':'.$this->port$this->user$this->password);
   }else{
    
$connection = @mysql_pconnect($this->host.':'.$this->port$this->user$this->password);
   }
   if (!
$connection  ||  !@mysql_select_db($db_name$connection)){
    return 
false;
   }
   return 
$connection;
  }

  function 
disconnect(&$connection){
   if (
$connection){
    return @
mysql_close($connection);
   }
   return 
true;
  }

  function 
query($query$connection){
   return @
mysql_query($query$connection);
  }

  function 
numRows($result){
   return @
mysql_num_rows($result);
  }

  function 
affectedRows($result$connection){
   return @
mysql_affected_rows($connection);
  }

  function 
fetchArray($result){
   return @
mysql_fetch_array($result);
  }

  function 
fetchRow($result){
   return @
mysql_fetch_row($result);
  }

  function 
fetchAssoc($result){
   return @
mysql_fetch_assoc($result);
  }

  function 
escape($string){
   return @
mysql_escape_string($string);
  }

  function 
error($connection){
   return 
mysql_error($connection);
  }
 }

 class 
PostGreSQL{
  var 
$host;     // (string)  Servidor Host donde se haya la BDatos, puede ser el IP o el nombre de dominio
                 // IP : $host = "xxx.xxx.xxx.xxx";
                 // Nombre de Dominio : $host = "www.miservidor.com";
  
var $user;     // (string)  Usuario de conexión a BDatos
  
var $password// (string)  Contraseña de Conexión a BDatos
  
var $db_name;  // (string)  Base de Datos con la cual se trabajará
  
var $port;     // (int)     Puerto por donde será accedida la BDatos

  
function PostGreSQL($host ""$user ""$password ""$db_name ""$port ""){
   
$this->host     = ($host != "")      ?  (string)$host      :  "localhost";
   
$this->user     = ($user != "")      ?  (string)$user      :  "root";
   
$this->password = ($password != "")  ?  (string)$password  :  "";
   
$this->db_name  = ($db_name != "")   ?  (string)$db_name   :  "";
   
$this->port     = ($port != "")      ?  (int)$port         :  5432;
  }

  function 
connect(&$connection$db_name$is_persistent false){
   
$db_name = ($db_name != "")  ?  $db_name  :  $this->db_name;
   
$connection_string 'host=' $this->host ' port=' $this->port ' user=' $this->user ' password=' $this->password ' dbname=' $db_name;
   if(!
$is_persistent){
    
$connection = @pg_connect($connection_stringPGSQL_CONNECT_FORCE_NEW);
   }else{
    
$connection = @pg_pconnect($connection_stringPGSQL_CONNECT_FORCE_NEW);
   }
   if (!
$connection){
    return 
false;
   }
   return 
$connection;
  }

  function 
disconnect(&$connection){
   if(
$connection){
    return @
pg_close($connection);
   }
   return 
true;
  }

  function 
query($query$connection){
   return @
pg_query($connection$query);
  }

  function 
affectedRows($result$connection){
   return @
pg_affected_rows($result);
  }

  function 
numRows($result){
   return @
pg_num_rows($result);
  }

  function 
fetchArray($result){
   return @
pg_fetch_array($result);
  }

  function 
fetchRow($result){
   return @
pg_fetch_row($result);
  }

  function 
fetchAssoc($result){
   return @
pg_fetch_assoc($result);
  }

  function 
escape($string){
   return @
mysql_escape_string($string);
  }

  function 
error($connection){
   return 
pg_last_error($connection);
  }
 } 
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 23/01/2005, 14:33
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años, 1 mes
Puntos: 1
Parte 4 y última

Código PHP:
class SQLite{
  var 
$host;     // (string)  Servidor Host donde se haya la BDatos, puede ser el IP o el nombre de dominio
                 // IP : $host = "xxx.xxx.xxx.xxx";
                 // Nombre de Dominio : $host = "www.miservidor.com";
  
var $user;     // (string)  Usuario de conexión a BDatos
  
var $password// (string)  Contraseña de Conexión a BDatos
  
var $db_name;  // (string)  Base de Datos con la cual se trabajará
  
var $port;     // (int)     Puerto por donde será accedida la BDatos

  
function SQLite($host ""$user ""$password ""$db_name ""$port ""){
   
$this->host     NULL;
   
$this->user     NULL;
   
$this->password NULL;
   
$this->port     NULL;
   if(
$db_name != ""){
    
$this->db_name = (string)$db_name;
   }else if(
$host != ""){
    
$this->db_name = (string)$host;
   }else{
    
$this->db_name "";
   }
  }

  function 
connect(&$connection$db_name$is_persistent false){
   
$db_name = ($db_name != "")  ?  $db_name  :  $this->db_name;
   if (!
$is_persistent) {
    
$connection = @sqlite_open($db_name0666$error_message);
   }else{
    
$connection = @sqlite_popen($db_name0666$error_message);
   }
   if (!
$connection){
    echo 
$error_message;
    return 
false;
   }
   return 
$connection;
  }

  function 
disconnect(&$connection){
   if (
$connection){
    return @
sqlite_close($connection);
   }
   return 
true;
  }

  function 
query($query$connection){
   return @
sqlite_query($connection$query);
  }

  function 
affectedRows($result$connection){
   return @
sqlite_changes($connection);
  }

  function 
numRows($result){
   return @
sqlite_num_rows($result);
  }

  function 
fetchArray($result){
   return @
sqlite_fetch_array($resultSQLITE_BOTH);
  }

  function 
fetchRow($result){
   return @
sqlite_fetch_array($resultSQLITE_NUM);
  }

  function 
fetchAssoc($result){
   return @
sqlite_fetch_array($resultSQLITE_ASSOC);
  }

  function 
escape($string){
   return @
sqlite_escape_string($string);
  }

  function 
error($connection){
   return 
sqlite_error_string(sqlite_last_error($connection));
  }
 }

 class 
SQL{
  var 
$host;     // (string)  Servidor Host donde se haya la BDatos, puede ser el IP o el nombre de dominio
                 // IP : $host = "xxx.xxx.xxx.xxx";
                 // Nombre de Dominio : $host = "www.miservidor.com";
  
var $user;     // (string)  Usuario de conexión a BDatos
  
var $password// (string)  Contraseña de Conexión a BDatos
  
var $db_name;  // (string)  Base de Datos con la cual se trabajará

  
function SQLite($host ""$user ""$password ""$db_name ""){
   
$this->host     NULL;
   
$this->user     NULL;
   
$this->password NULL;
   if(
$db_name != ""){
    
$this->db_name = (string)$db_name;
   }else if(
$host != ""){
    
$this->db_name = (string)$host;
   }else{
    
$this->db_name "";
   }
  }

  function 
connect(&$connection$db_name$is_persistent false){
   
$db_name = ($db_name != "")  ?  $db_name  :  $this->db_name;
   if (!
$is_persistent) {
    
$connection = @mssql_connect($db_name$error_message);
   }else{
    
$connection = @mssql_pconnect($db_name$error_message);
   }
   if (!
$connection){
    echo 
$error_message;
    return 
false;
   }
   return 
$connection;
  }

  function 
disconnect(&$connection){
   if (
$connection){
    return @
mssql_close($connection);
   }
   return 
true;
  }

  function 
query($query$connection){
   return @
mssql_query($connection$query);
  }

  function 
affectedRows($result$connection){
   return @
mssql_rows_affected($connection);
  }

  function 
numRows($result){
   return @
mssql_num_rows($result);
  }

  function 
fetchArray($result){
   return @
mssql_fetch_array($result);
  }

  function 
fetchRow($result){
   return @
mssql_fetch_row($result);
  }

  function 
fetchAssoc($result){
   return @
mssql_fetch_assoc($result);
  }

  function 
error($connection){
   return 
mssql_get_last_message($connection);
  }
 } 
// este es el cierre de la clase EasySQL 
Pues bien espero que la critiquen y me digan que le falta o le sobra y que SGBD permite usar PHP para implementar esos aquí en la clase de forma que esta se haga un poco estandar para cualquier SGBD. Una cosa respecto a los STORE PROCEDURES y TRIGGERS como podría obtener información para implementar esto también ??

Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 23/01/2005, 15:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años
Puntos: 129
Estarìa bueno adjuntar un ejemplo de uso lo màs completo posible .. asì el que guste podrìa ir probando.

Un saludo,
  #6 (permalink)  
Antiguo 23/01/2005, 15:36
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 22 años, 1 mes
Puntos: 1
Pues sip

Cluster ... Disculpa me olvide de eso pero aquí les va el ejemplo:
Creando los objetos:
Código PHP:
<?php
 
require_once "class.allinonesql.php";
 
$SQL = new EasySQL("MySQL""host""user""password""database_name"3306);
?>
Usando la clausula SELECT
Código PHP:
<?php
 $SQL 
= new EasySQL("MySQL""localhost""root""password""my_database");
 
$SQL->useTable("clients");
 
$SQL->setSelection("name, email");
 
$SQL->setWhere("MONTH(birthday) = MONTH(now())");
 
$SQL->select();
 while (
$row $SQL->fetchArray()) {
  echo 
"<br />" $row['name'] . " - "  $row['email'];
 }
 echo 
"<br />Total: " $SQL->total_rows;
?>
Salu2
__________________
Ing. Reynier Pérez Mira
  #7 (permalink)  
Antiguo 23/01/2005, 15:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años
Puntos: 129
Ok, gràcias por el ejemplo .. pero de todas formas en general le hace falta documentaciòn a la classe y sus mètodos.

Tampoco estarìa de màs que comentes algunas de sus "ventajas" .. por ejemplo el tener mètodos que "setear" para idicar la parte "WHERE" de una sentencia SQL .. o los campos a seleccionar .. (como siempre yo sòlo hablo de la parte "funcional" .. sobre como està diseñado tu POO ahì no entro ..)

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:06.