|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/logicswapweb/aplicaciones/admon/fnc/ |
Upload File : |
<?php
error_reporting(E_ERROR);
/* vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 4 |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available at through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | [email protected] so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Jose L Alvarez Lopez <[email protected]> |
// +----------------------------------------------------------------------+
//
// $Id: DBManager.php,v 1.0 17/02/2004 17:24:42 jalvarez $
/**
* @(#)DBManager.php v1.0 17/02/2004
*
* Copyright (c) 2003 Jose L. Alvarez Lopez., All rights reserved.
* INTELECTUAL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
if (eregi(basename(__FILE__), basename($_SERVER['PHP_SELF']))) {
echo("CAN'T ACCESS FILE DIRECTLY !");
die();
}
/**
* Directiva de preprocesado para el interprete de php.
* @const __DBMANAGER_PHP__INCLUDED
*/
if (!defined("__DBMANAGER_PHP__INCLUDED")) {
define("__DBMANAGER_PHP__INCLUDED",1);
/**
* Configura el Manejo de Errores del Interprete de Php
*/
//error_reporting('E_ALL & ~E_NOTICE');
//==============================================================================================
// CLASS ADOCONNECT
//==============================================================================================
/**
* DBManager
*
* Contiene funciones de persistencia.
*
* @author Jose L. Alvarez Lopez
* @version $Revision: 1.0 $
* @copyright Copyright (c) 2003 by Jose L. Alvarez Lopez, All Rights Reserved
* @date 17/02/2004 17:24:42
*
* @package bd
*/
class DBManager {
//
// }}
// {{ PROPERTIES
/**
* Nombre del host o direccion IP del servidor de base de datos.
*
* @var string
* @private
*/
var $_mHost;
/**
* Nombre del usuario de la base de datos.
*
* @var string
* @private
*/
var $_mUser;
/**
* Contrase�a del usuario de la base de datos.
*
* @var string
* @private
*/
var $_mPassword;
/**
* Nombre de la base de datos de la conexion.
*
* @var string
* @private
*/
var $_mDatabase;
/**
* Tipo de driver de conexion a la base de datos.
*
* @var string
* @private
*/
var $_mDBType;
/**
* Cursor que contiene el recurso de conexion a la base de datos.
*
* @var int
* @protected
*/
var $_mDbHandler;
/**
* Cursor que contiene el recurso de los resultado obtenido en una consulta sql.
*
* @var array
* @protected
*/
var $_mRecordSet;
/**
* Define si el depurador debe estar habilitado o deshabilitado.
*
* @var bool
* @private
*/
var $_mDebugger;
/**
* Contiene el ultimo error que se genero en una consulta sql.
*
* @var string
* @private
*/
var $_mSqlException;
/**
* Contiene el ultimo Numero del error que se genero en una consulta sql.
*
* @var string
* @private
*/
var $_mSqlExceptionNum;
// }}
// {{ METHODS
// }}}
// {{{ DBManager()
/**
* Constructor.
*
* @param string $pDbType
* @access public
*/
function DBManager() {
// Para uso en la internet
$this->_mDBType = NULL;
$this->_mHost = "mysql.web.rcn.net";
$this->_mUser = "logicswapweb1";
$this->_mPassword = "logicswap2007";
$this->_mDatabase = "logicswap_com";
$this->_mDbHandler = NULL;
$this->_mRecordSet = NULL;
$this->_mDebugger = TRUE;
$this->_mSqlException = NULL;
register_shutdown_function(array(&$this, "_DBManager"));
}
/**
* Destructor.
*
* @access public
*/
function _DBManager() {
$this->close();
}
// }}}
// {{{ close()
/**
* Cierra la conexion a la base de datos asociada con la instancia <br>
* del DBManager y libera los recursos que estan asociados al cursor de
* registros. Retorna verdadero si fue exitosa or falso si fallo.
*
* @return boolean TRUE si se cerro satisfactoriamente, falso de lo contrario.
* @access public
*/
function close() {
if ($this->_mRecordSet) {
@mysql_free_result($this->_mRecordSet);
}
if ($this->_mDbHandler) {
@mysql_close($this->_mDbHandler);
return TRUE;
}
return FALSE;
}
// }}}
// {{{ getHost()
/**
* Retorna el host de la conexion actual.
*
* @return string Hostname o IP del servidor.
* @access public
*/
function getHost() {
return $this->_mHost;
}
// }}}
// {{{ getUser()
/**
* Retorna el usuario de la conexion actual.
*
* @return string Nombre del usuario.
* @access public
*/
function getUser() {
return $this->_mUser;
}
// }}}
// {{{ getPassword()
/**
* Retorna el password del usuario de la conexion actual.
*
* @return string Password del usuario.
* @access public
*/
function getPassword() {
return $this->_mPassword;
}
// }}}
// {{{ getDatabase()
/**
* Retorna el nombre de la base de datos activa en la conexion.
*
* @return string Nombre de la base de datos.
* @access public
*/
function getDatabase() {
return $this->_mDatabase;
}
// }}}
// {{{ isConnected()
/**
* Retorna el del handler de conexion.
*
* @return boolean TRUE si la conexion esta activa, FALSE de lo contrario.
* @access public
*/
function isConnected() {
return $this->_mDbHandler;
}
// }}}
// {{{ isDebubberEnabled()
/**
* Retorna el estado del depurador del DBManager.
*
* @return boolean TRUE si la conexion fue exitosa, FALSE de lo contrario.
* @access public
*/
function isDebuggerEnabled() {
return $this->_mDebugger;
}
// }}}
// {{{ setDebubberEnabled()
/**
* Habilita o Deshabilita e� depurador del DBManager.
*
* @param string $pEnabled Indica si debe o no estar habilitado el depurador.
* @access public
*/
function setDebuggerEnabled($pEnabled) {
$this->_mDebugger = $pEnabled;
}
// }}}
// {{{ connect()
/**
* Establece una conexion con el servidor de base de datos.
*
* @param string $pHost Ip or hostname del servidor.
* @param string $pUser Usuario de la base de datos.
* @param string $pPassword Contrase�a de la base de datos.
* @param string $pDatabase Nombre de la base de datos.
* @return boolean TRUE si la coneccion fue exitosa, FALSE de lo contrario.
* @access public
*/
function connect($pHost = NULL, $pUser = NULL, $pPassword = NULL, $pDatabase = NULL) {
$this->_mHost = (!empty($pHost)) ? $pHost: $this->_mHost;
$this->_mUser = (!empty($pUser)) ? $pUser: $this->_mUser;
$this->_mPassword = (!empty($pPassword)) ? $pPassword: $this->_mPassword;
$this->_mDatabase = (!empty($pDatabase)) ? $pDatabase: $this->_mDatabase;
$this->_mDbHandler = mysql_connect($this->_mHost, $this->_mUser, $this->_mPassword);
if (!$this->_mDbHandler) {
$this->_mSqlException = mysql_error();
} else {
if (mysql_select_db($this->_mDatabase, $this->_mDbHandler)) {
return TRUE;
} else {
$this->_mSqlException = mysql_error();
}
}
return FALSE;
}
// }}}
// {{{ execute()
/**
* Envia una sentencia sql a la base de datos activa en el servidor<br>
* que esta asociada con la instancia especifica del DBManager.
*
* @param string $pSqlStatement Sentencia SQL.
* @return boolean TRUE si la consulta fue exitosa, FALSE de lo contrario.
* @access public
*/
function execute($pSqlStatement) {
if ($this->_mDbHandler) {
$this->_mRecordSet = mysql_query($pSqlStatement, $this->_mDbHandler);
if (!$this->_mRecordSet) {
$this->_mSqlException = mysql_error(); $this->_mSqlExceptionNum = mysql_errno();
} else {
return TRUE;
}
}
return FALSE;
}
// }}}
// {{{ fetchRow()
/**
* Convierte en una arreglo si hay un registro o una
* matirz si hay varios registros al cursor que contiene
* el recurso del resultado de una consulta SELECT.
* Retorna falso si no hay registros.
*
* @return array Arreglo o Matriz de registros.
* @access public
*/
function fetchRow() {
return mysql_fetch_array($this->_mRecordSet);
}
// }}}
// {{{ insertId()
/**
* Retorna el ultimo ID insertado en una previa operacion de insercion de registros.
*
* @return int Ultimo ID insertado.
* @access public
*/
function insertId($pSequence = NULL) {
return mysql_insert_id();
}
// }}}
// {{{ numRows()
/**
* Retorna el numero de registros afectados (tuples).<br>
* Retorna el numero de tuples (instancias/registros/filas) afectadas por<br>
* una sentencia sql SELECT ejecutada en una consulta.<br>
* Si no hay tuple afectadas, retornara 0.
*
* @return int Numero de registros afectados.
* @access public
*/
function numRows() {
return mysql_num_rows($this->_mRecordSet);
}
/**
* Retorna el numero de registros afectados (tuples).<br>
* Retorna el numero de tuples (instancias/registros/filas) afectadas por<br>
* una sentencia sql INSERT, UPDATE, and DELETE ejecutada en una consulta.<br>
* Si no hay tuple afectadas, retornara 0.
*
* @return int Numero de registros afectados.
* @access public
*/
function affectedRows() {
return mysql_affected_rows($this->_mDbHandler);
}
// }}}
// {{{ getException()
/**
* Cuando ocurre una es atrapada por el manager de la conexion.
* Retorna el ultimo error ocurrido en la conexion.
*
* @return string La excepcion como string.
* @access public
*/
function getException() {
if($this->_mDbHandler){
return (($this->_mSqlException) && ($this->_mDebugger)) ? $this->_mSqlException: NULL;
}else{
return "No hay conexion de Base de Datos";
}
}
// }}}
// {{{ getExceptionNum()
/**
* Cuando ocurre una es atrapada por el manager de la conexion.
* Retorna el numero del ultimo error ocurrido en la conexion.
*
* @return string La excepcion como string.
* @access public
*/
function getExceptionNum() {
return (($this->_mSqlExceptionNum) && ($this->_mDebugger)) ? $this->_mSqlExceptionNum: NULL;
}
} // End Class DBManager
} // !defined('__DBMANAGER_PHP__INCLUDED')
?>