conexion adodb

como les habia comentado, voy a escribir sobre programacion que es a lo que me he dedicado ultimamente, sobre todo en php, y me gustaria dejarles una clase que les facilitara hacer la conexion, algunas transacciones basicas con una base de datos usando adodb

Esta clase utiliza adodb5 y un archivo de configuracion llamado config.php con la informacion para la conexion asi:

<?php
/**
   * Archivo de configuración
   */
 
//nombre de la db
$base = "nombre_db";
//servidor de la db
$servidor = "localhost"
//usuario con permiso de acceso
$usuario = "root";
//contraseña del usuario
$clave = "1234";
?>


lo que se debe cambiar es la ubicación de el archivo de configuración en include (realpath(dirname(__FILE__) . “/config.php”));.

<?php
 
class ConnectionHandler {
 
/**
  * ESTA CLASE INICIA LA CONEXION A LA BD SELECCIONADA
	* @$conn  objeto  Variable que almacena la conexion;
	* @$driver char  Variable que almacena la bd Utilizada.
	*
	*/
 
var $Error;
var $id_query;
var $driver;
var $conn;
var $querySql;
 
/* Metodo constructor */
 
function ConnectionHandler(){
	if (!defined('ADODB_ASSOC_CASE')) define('ADODB_ASSOC_CASE',1);
	include ("adodb5/adodb.inc.php");
	include_once ("adodb5/adodb-pager.inc.php");
	include_once ("adodb5/tohtml.inc.php");
	include (realpath(dirname(__FILE__) . "/config.php"));
    	$ADODB_COUNTRECS = false;
		$this->driver = $driver;
	$this->conn  = NewADOConnection("$driver");
	$this->conn->SetFetchMode(2); 
	if (!$this->conn->Connect($servidor,$usuario,$clave,$base))
	die ("No se pudo conectar a la base de datos: ".$this->conn->error);
}
//  Retorna False en caso de ocurrir error;
function query($sql){
$cursor = $this->conn->Execute($sql);
  return $cursor;
}
function getResult($sql) {
	if ($sql == "") {
		$this->Error = "No ha especificado una consulta SQL";
		print($this->Error);
		return 0;
	}
	return ($this->query($sql));
}
function insert($table,$record) {
  	$temp = array();
    $fieldsnames = array();
  	foreach($record as $fieldName=>$field )
  	{
      $fieldsnames[] = $fieldName;
    	$temp[] = $field;
    }
  	$sql = "insert into " . $table . "(" . join(",",$fieldsnames) . ") values (" . join(",",$temp) . ")";
  	if ($this->conn->debug==true)
  	{
  	 echo "&lt;hr>(".$this->driver.") $sql&lt;hr>";
  	}
		$this->querySql = $sql;
		//$this->conn->BeginTrans();
		$res = $this->conn->query( $sql );
		if( !$res )
		{
			//$this->conn->RollbackTrans();
		}
		else
		{
			//$this->conn->CommitTrans();
		}
	return( $res );
  	//return ($this->conn->query($sql));
	}
function update($table, $record, $recordWhere) {
	$tmpSet = array();
	$tmpWhere = array();
	foreach($record as $fieldName=>$field )
	{
	  $tmpSet[] = $fieldName . "=" . $field;
	}
	foreach($recordWhere as $fieldName=>$field )
	{
	  $tmpWhere[] = " " . $fieldName . " = " . $field . " ";
	}
	$sql = "update " . $table ." set " . join(",",$tmpSet) . "    where " . join(" and ",$tmpWhere);
  	if ($this->conn->debug==true)
  	{
  	 echo "&lt;hr>(".$this->driver.") $sql&lt;hr>";
  	}
//$this->conn->debug=true;
  	$res = $this->conn->Execute( $sql );
	if( !$res )
	{
		//$this->conn->RollbackTrans();
	}
	else
	{
		//$this->conn->CommitTrans();
	}
	return( $res );
	//return ($this->conn->Execute($sql));
}
	function delete($table, $record) {
	$temp = array();
	foreach($record as $fieldName=>$field )
	{
	$tmpWhere[] = "  " . $fieldName . "=" . $field;
	}
	$sql = "delete from " . $table . " where " . join(" and ",$tmpWhere);
	//print("*** $sql ****");
 	if ($this->conn->debug==true)
  	{
  	 echo "&lt;hr>(".$this->driver.")$sql&lt;hr>";
  	}
	return ($this->query($sql));
	}
}
?>

y para usarla colocamos lo siguiente:

        <?php
        //Incliur archivo de configuracion -- config.php
	include (realpath(dirname(__FILE__) . "/config.php"));
	//Iniciar la conexion
	include_once(LIB . "/conexion.php");
	$db = new ConnectionHandler();
	$db->conn->SetFetchMode(ADODB_FETCH_NUM);
	$db->conn->SetFetchMode(ADODB_FETCH_ASSOC);
	//ver el depurador
        $db->conn->debug = true;
        //consulta
        $sql = " -- consulta a la db --";
        //ejecutar la consulta
        $rs = $db->query($sql);
0 13 Abr php, programacion twit face

Algo que decir...

los campos marcados con * son obligatorios
 

Follow SitioAparte on Twitter

publicidad

siguenos !!

flickr

S4033928S4033927S4033926S4033925S4033924SitioAparteplazoleta de la aduanaplazoleta de la aduanaplazoleta de la aduana