Ver Mensaje Individual
  #25 (permalink)  
Antiguo 11/03/2010, 18:31
Avatar de eits
eits
 
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 8 meses
Puntos: 88
Respuesta: Consulta MYSQL

bien, por ahora no tengo mucho tiempo para entrar en detalles, pues me presionan para terminar un sistema así que vamos al punto.
este es una clase que tengo creado para mis conexiones, tal vez los nombres de las funciones son algo extensas, pero por falta de tiempo no me he dado a la tarea de mejorarlo, sin embargo, me sirve bastante bien, sin mas aqui se los dejo.
Código PHP:
Ver original
  1. <?php
  2. #-------------------------------------------#
  3. #realizado por:                             #
  4. #               Edgar Israel Tamayo Silva   #
  5. #email:                                     #
  6. #               [email protected]           #
  7. #-------------------------------------------#
  8. /**
  9. * clase para la conexion a la
  10. * base de datos mysql por
  11. * medio de mysqli
  12. */
  13. class Conectar{
  14.     private     $resultado;
  15.     protected   $cnx;
  16.     public      $devolverError=false;//si es true devuelve el resultado y false lo termina con die
  17.  
  18.     public function __construct($server='',$user='',$pass='',$base=''){
  19.         //si le envio los parametros
  20.         if(!empty($server) && !empty($user) && !empty($base)){
  21.             $this->cnx=@mysqli_connect($server,$user,$pass,$base);
  22.         }else{
  23.             //por si quiero usar constantes
  24.             $this->cnx=@mysqli_connect(LOCALHOST,USUARIO,PASSWORD,BASE);
  25.         }
  26.         if(!$this->cnx){
  27.             self::getError(1);//si ocurre error se llama a la funcion que nos devuelve el error
  28.         }  
  29.     }
  30.    
  31.     #funcion para escapar caracteres especiales y evitar inyección de SQL
  32.     public function setEscapar($cadena){
  33.         return @mysqli_escape_string($this->cnx,$cadena);
  34.     }
  35.  
  36.     #devuelve el error de mysql en caso de existir
  37.     public function getError($tipo=0){
  38.         $error="ERROR - ";
  39.         if($tipo != 0){
  40.             $error.=mysqli_connect_errno()." - ".mysqli_connect_error();
  41.         }
  42.         else{
  43.             $error.=mysqli_errno($this->cnx)." - ".mysqli_error($this->cnx);
  44.         }
  45.         if($this->devolverError){
  46.             return $error;//devuelve el error para que el usuario lo use donde quiera
  47.         }
  48.         else{
  49.             die($error);//detiene la aplicacion y muestra el error
  50.         }
  51.     }
  52.    
  53.     #devuelve true si no hay error y false si existe
  54.     public function getErrorDeQuery(){
  55.         return $this->resultado;//devuelve true si no hay error y false si existe
  56.     }
  57.  
  58.     #devuelve el resultado de un select dependiendo del metodo pasado por parametro
  59.     #ya sea array, row, object, field, lengths o assoc por default tiene este último.
  60.     public function getResultado($modo='assoc'){
  61.         $modo=strtolower($modo);
  62.         switch($modo){
  63.             case 'array':
  64.                             return @mysqli_fetch_array($this->resultado);
  65.                             break;
  66.             case 'field':
  67.                             return @mysqli_fetch_field($this->resultado);
  68.                             break;
  69.             case 'lengths':
  70.                             return @mysqli_fetch_lengths($this->resultado);
  71.                             break;
  72.             case 'object':
  73.                             return @mysqli_fetch_object($this->resultado);
  74.                             break;
  75.             case 'row':
  76.                             return @mysqli_fetch_row($this->resultado);
  77.                             break;
  78.             case 'assoc':
  79.             default:
  80.                             return @mysqli_fetch_assoc($this->resultado);
  81.                             break;
  82.         }
  83.  
  84.     }
  85.  
  86.     #devuelve el Número de registros que devolvió la consulta
  87.     public function getResultadoNumerico(){
  88.         return $resNum=mysqli_num_rows($this->resultado);
  89.     }
  90.  
  91.     //ejecuta una consulta, insert, update o delete
  92.     public function setQuery($sqlQuery){
  93.         $this->resultado=mysqli_query($this->cnx,$sqlQuery);
  94.     }
  95.  
  96.     //Devuelve el id afectado en un insert
  97.     public function getIdAfectado(){
  98.         return $idAfectado=mysqli_insert_id($this->cnx);
  99.     }
  100.  
  101.     //libera la memoria
  102.     public function setLiberarMemoria(){
  103.         mysqli_free_result($this->resultado);
  104.     }
  105.  
  106.     //cierra la conexion
  107.     public function setCerrarConexion(){
  108.         mysqli_close($this->cnx);
  109.     }
  110.    
  111.     #libera y cierra
  112.     public function setTerminar(){
  113.         if(!empty($this->resultado)){
  114.             self::setLiberarMemoria();
  115.         }
  116.         self::setCerrarConexion();
  117.     }
  118. }
  119. ?>
no tengo documentación así que deben de conocer un poco de poo para implementarlo.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.