Tema: Clase en php
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2010, 23:40
eduardo_jebm
 
Fecha de Ingreso: noviembre-2010
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Información Clase en php

Les dejo esta clase en php que nos ayudara a manipular la conexión con la base de datos en Mysql cualquier duda comenten funciona al 100% :D


Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $bd = new Bd();
  5.  
  6. class Bd {
  7.    var $host = "localhost";
  8.    var $user="usuario_de_la_base_datos";
  9.    var $password="password_de_la_base_datos";
  10.    var $database="_base_datos";
  11.    var $conn;
  12.  
  13.    const ABIERTA = 1;
  14.    const CERRADA = 0;
  15.  
  16.   // var $status = CERRADA;
  17.  
  18.  
  19. //Abre la base de datos
  20. public function open(){
  21.  
  22.    $this->conn = mysql_connect($this->host, $this->user, $this->password) or die (mysql_error());
  23.    mysql_select_db($this->database, $this->conn) or die (mysql_error());
  24.    $this->status=Bd::ABIERTA;
  25.    
  26. }  // end open
  27.  
  28.  
  29. //Cierra la base de datos
  30. public function close(){
  31.    mysql_close($this->conn);
  32.    $this->status=Bd::CERRADA;
  33. }  //end close
  34.  
  35.  
  36. //Ejecuta una consulta que no devuelve resultados,
  37. //para insertar, modificar, eliminar
  38. // @param string $sql Consulta SQL
  39. public function ExecuteNonQuery($sql) {
  40.      $this->open();
  41.       $rs = mysql_query($sql, $this->conn);
  42.    settype($rs, "null");
  43.    $affected_rows = mysql_affected_rows();
  44.    return($affected_rows);  
  45. } //end ExecuteNonQuery
  46. //*********************************************************************************************
  47.  
  48. //Ejecuta una consulta SQL
  49. // @param string $query Consulta SQL
  50. // @return un array de registros, cada uno siendo un array asociativo de campos
  51. public function Execute($query){
  52.     $this->open();
  53.    $rs = mysql_query($query, $this->conn);
  54.  
  55.    //paso el recordset a array asociativo
  56.    $registros = array();
  57.    while ($reg=mysql_fetch_array($rs)) {
  58.      $registros[] = $reg;
  59.    } //end while
  60.    return $registros;
  61. } //end Execute
  62.  
  63. //***********************************************************************************  Devuelve un solo registro
  64. public function Execute_a($query){
  65.     $this->open();
  66.    $rs = mysql_query($query, $this->conn);
  67.  
  68.    $reg=Mysql_Fetch_Assoc($rs);
  69.  
  70.    return $reg;
  71. } //end Execute_a
  72.  
  73. //***********************************************************************************
  74.  
  75. //Ejecuta una consulta devolviendo una fila (registro) con todos sus campos
  76. //@param string $tableName Nombre de la tabla
  77. //@param string $filter Filtro SQL para el where
  78. //@return un array asociativo de campos
  79. public function ExecuteRecord($tableName, $filter) {
  80.    $todos = $this->Execute("SELECT * FROM $tableName WHERE $filter;");
  81.    return $todos[0];
  82. } //end ExecuteRecord
  83.  
  84.  
  85. //Ejecuta una consulta devolviendo una columna (campo) con todos sus registros
  86. //@param string $tableName Nombre de la tabla
  87. //@param string $field Nombre del campo a traer
  88. //@param string $filtro Filtro del where, OBLIGATORIO
  89. //@return un array asociativo de valores de cada registro
  90. public function ExecuteField($tableName, $field, $filter) {
  91.    $todos = $this->Execute("SELECT $field FROM $tableName WHERE $filter;");
  92.    $aux = array();
  93.    foreach ($todos as $uno) {
  94.       $aux[] = $uno;
  95.    } //end foreach
  96.    return $aux;
  97. } //end ExecuteField
  98.  
  99.  
  100. //Obtiene todos los registro de una tabla
  101. //@param string $tableName Nombre de la tabla
  102. //@param string $orden Campo por el cual ordenar (opcional)
  103. //@return un array de registros, cada uno un array asociativo
  104. public function ExecuteTable($tableName, $orden="") {
  105.    if($orden!="")
  106.       return $this->Execute("SELECT * FROM " . $tableName . " ORDER BY " . $orden);
  107.    else
  108.       return $this->Execute("SELECT * FROM " . $tableName);  
  109. } //End ExecuteTable
  110.  
  111.  
  112. //Obtiene un solo valor de la base de datos
  113. //@param string $query Consulta SQL (1x1)
  114. //@return el valor devuelto por la consulta
  115. public function ExecuteScalar($query) {
  116.  $this->open();
  117.    $rs = mysql_query($query, $this->conn) or die (mysql_error());
  118.    $reg = mysql_fetch_array($rs);
  119.    return $reg;
  120. } //end ExecuteScalar
  121.  
  122.  
  123. //Devuelve la cantidad de registro de una tabla
  124. // @param string $tableName Nombre de la tabla
  125. // @return Cantidad de registros
  126. public function RecordCount($tableName) {
  127.   return $this->ExecuteScalar("SELECT COUNT(*) FROM " . $tableName);
  128. }  //end RecordCount
  129.  
  130. } //end class
  131. ?>