Published in: PHP
Clase para base de datos MySQL
/** DEBUG - BASE DE DATOS **/ /** inicio: clase DB_mysql **/ class DB_mysql { /* variables de conexión */ var $BaseDatos; var $Servidor; var $Usuario; var $Clave; /* identificador de conexión y consulta */ var $Conexion_ID = 0; var $Consulta_ID = 0; /* número de error y texto error */ var $Errno = 0; var $Error = ''; /* ultimo string sql consultado */ var $ultimo_sql = ''; /** contructor: DB_mysql() **/ function DB_mysql($bd = "", $host = "", $user = "", $pass = "") { $this->BaseDatos = $bd; $this->Servidor = $host; $this->Usuario = $user; $this->Clave = $pass; $this->conectar($bd, $host, $user, $pass); } /*Conexión a la base de datos*/ function conectar($bd, $host, $user, $pass) { // Conectamos al servidor $this->Conexion_ID = mysql_connect($this->Servidor, $this->Usuario, $this->Clave) or die(mysql_error()); if (!$this->Conexion_ID) { return 0; } //seleccionamos la base de datos return 0; } /* Si hemos tenido éxito conectando devuelve el identificador de la conexión, si no devuelve 0 */ return $this->Conexion_ID; } /* Cierra la conexión */ function cerrar() { } /* Ejecuta un consulta */ function consulta($sql='', $debug=false) { $this->Error = 'No ha especificado una consulta SQL'; return 0; } // si esta activado el debug y queremos mostrar el SQL // guardamos el string sql como el ultimo utilizado $this->ultimo_sql = $sql; //ejecutamos la consulta if (!$this->Consulta_ID) { } else { $this->Errno = 0; $this->Error = ''; } /* Si hemos tenido éxito en la consulta devuelve el identificador de la consulta, si no devuelve 0 */ return $this->Consulta_ID; } /* Devuelve el número de campos de una consulta */ function numcampos() { } /* Devuelve el número de registros de una consulta */ function numregistros() { } /* Devuelve el nombre de un campo de una consulta */ function nombrecampo($numcampo) { } function execute($sql) { // guardamos el string sql como el ultimo utilizado $this->ultimo_sql = $sql; } else { $this->Errno = 0; $this->Error = ''; } return $result; } /* Comienza una transacción */ function beginTrans() { $this->execute('SET AUTOCOMMIT=0'); $this->execute('START TRANSACTION'); return true; } /* Commit */ function commitTrans() { $this->execute('COMMIT'); $this->execute('SET AUTOCOMMIT=1'); return true; } /* Rollback */ function rollbackTrans() { $this->execute('ROLLBACK'); $this->execute('SET AUTOCOMMIT=1'); return true; } function agregar($tabla, $datos_values, $debug=false) { $sql_keys = ''; $sql_values = ''; foreach($datos_values as $key => $value) { $sql_keys .= $key.", "; else $sql_values .= "'".$value."', "; } $sql = "INSERT INTO `".$tabla."` (".$sql_keys.") VALUES (".$sql_values.")"; $this->execute($sql); if ($this->Errno == 1062) { $this->printLastErrorNumber(); $this->printLastError(); $this->printLastSQL(); $this->rollbackTrans(); exit; //return 1; } else { $this->printLastErrorNumber(); $this->printLastError(); $this->printLastSQL(); $this->rollbackTrans(); exit; } } return 0; } function actualizar($tabla, $datos_set, $datos_where, $debug=false) { $sql = "UPDATE `".$tabla."` SET "; foreach ($datos_set as $key => $value) { $sql .= "`".$key."`=NULL, "; else $sql .= "`".$key."`='".$value."', "; } $sql .= " WHERE "; foreach ($datos_where as $key => $value) { $sql .= $key."='".$value."' AND "; } $this->execute($sql); $this->printLastErrorNumber(); $this->printLastError(); $this->printLastSQL(); $this->rollbackTrans(); exit; } return 0; } function borrar($tabla, $datos_where, $debug=false) { $sql = "DELETE FROM `".$tabla."` WHERE "; foreach ($datos_where as $key => $value) { $sql .= "`".$key."`='".$value."' AND "; } $this->execute($sql); $this->printLastErrorNumber(); $this->printLastError(); $this->printLastSQL(); $this->rollbackTrans(); exit; } return 0; } function existe($tabla, $datos_where, $debug=false) { $sql = "SELECT COUNT(*) AS DATO FROM `".$tabla."` WHERE "; foreach ($datos_where as $key => $value) { $sql .= "`".$key."`='".$value."' AND "; } $consulta = $this->consulta($sql);//if ($tabla=='VUREGIS43')echo $sql; $this->printLastErrorNumber(); $this->printLastError(); $this->printLastSQL(); $this->rollbackTrans(); exit; } return 0; } function printLastErrorNumber() { } function printLastError() { } function printLastSQL() { } } /** fin: clase DB_mysql **/
You need to login to post a comment.
