Instalacion Adodb Para Debian
Parte I
El articulo es para aquellas personas que programen en PHP y utilicen gestores de bases datos libres como mysql y postgresql
no explicare la instalación de postgres apache y mysql hay infinidad de artículos solo hay que asegurarnos de tener las extensiones habilitadas en este archivo
/etc/phpX/apacheXX/php.ini
asegurarnos de tener las extensiones habilitadas
; Example lines:
extension=pgsql.so
extension=mysql.so
extension=gd.so
librería de abstracción de Base de Datos para PHP y Python.
Esta permite a los programadores desarrollar aplicaciones web de una manera potable ,rápida y fácil. La ventaja reside en que la base de datos puede cambiar sin necesidad de reescribir cada llamado a la base de datos realizado por la aplicación. Soporta las siguientes bases de datos:
MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MSSQL, Foxpro,Access,Sybase, FrontBase,DB2, SAPDB,SQLite, Netezza,LDAP.
apt-get install libphp-adodb
Una vez ejecutado este comando procedemos a configurar .Se instala en el siguiente directorio /usr/share/php/adodb necesitamos hacer un enlace a la carpeta /var/www/
ln -s /usr/share/php/adodb/ /var/www/adodb
Requerimos configurar php.ini
gedit /etc/php5/apache2/php.ini
Necesitamos configurar el path buscamos las siguientes lineas:
include_path = “.:/usr/share/php” //línea sin editar
include_path = “.:/usr/share/php:/usr/share/php/adodb”
//línea editada
Ahora solo queda hacer lo siguiente :
/etc/init.d/apache2 reload
Parte II
Uso de adodb para poder realizar consultas necesitas hacer dos archivos que invoquen a las funciones principales de adodb para que haga el trabajo por ti
creamos cabdat.inc.php
<?php
require_once('/usr/share/php/adodb/adodb.inc.php');
define('dbname','Nombre_bd');
define('dbuser','passwd');
define('dbpasw','passwd');
define('dbhost','localhost_o_direccion_ip');
define('dbtipo','mysql');
?>
La primera linea es muy importante hace referencia al primer archivo del ADODB que se encarga de la conexión y también se encarga de enlazarse a una cadena de archivos que podremos utilizar sus funciones el siguiente archivo se llama CDatos.class.php este archivo consta de varias funciones que sirven para conectarse y hacer consultas
CDatos.class.php
<?php
require_once('cabdat.inc.php');
require_once('/usr/share/php/adodb/adodb.inc.php');
class CDatos
{
var $obj;
var $Res;
var $Con;
public function AbrirConexion()
{
try
{
$this->obj =NewADOConnection(dbtipo);
$this->obj->Connect(dbhost,dbuser,dbpasw,dbname);
}
catch(exception $ex)
{
print_r($ex);
}
}
public function CerrarConexion()
{
try
{
$this->obj->close();
}
catch(exception $ex)
{
print_r($ex);
}
}
public function Consulta($sql)
{
$this->Res= null;
try
{
$this->Res = $this->obj->getArray($sql);
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Res;
}
public function ConIUD($sql)
{
try
{
$this->Con=$this->obj->Execute($sql);
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Con;
}
public function NumFilas()
{
try
{
$this->Res=$this->Con->RecordCount();
}
catch(exception $ex)
{
print_r($ex);
}
return $this->Res;
}
}
?>
En esta pagina las dos primera lineas incluyen la primera pagina de conexión del adodb y los datos de conexión de la base de datos tenemos la función AbrirConexion() y CerrarConexion() seguidamente tenemos las funciones para abrir y cerrar la conexión seguidamente Consulta() y ConsultaUI() la diferencia entre estas es muy clara ConsultaUl Lo que ejecuta es una consulta que pueda ser de tipo UPDATE e INSERT DROP ,etc en esta consulta se puede hacer toda clase de consultas excepto la SELECT la función Consulta() es justamente para hacer consultas de tipo Select veremos un ejemplo de lo fácil que es programar utilizando esta librería aqui un ejemplo de inserción a tablas
es importante especificar que en cada pagina que programemos necesitamos incluir este archivo
require_once('/var/www/xxxxx/CDatos.class.php');
este archivo invoca a el primer archivo que creamos y este primer archivo interactúa con el archivo de inicio de adodb que permite conectarnos a diferentes bases de datos
<?php
require_once('/var/www/xxxxx/CDatos.class.php');//requerido
//conecta todo el adodb con lo que hacemos
function insertar()
{
$Variable1=$_POST["$Variable1"];
$Variable2=$_POST["$Variable2"];
$Variable3=$_POST["$Variable3"];
$sql = "insert into Tabla (Campo1,Campo2,Campo3)";
$sql.="values ('$Variable1','$Variable2','$Variable3')";
if ($id!='')
{
$obj = new CDatos();// accedemos a la clase
$obj->AbrirConexion();
$obj->ConIUD($sql); //enviamos toda la consulta al ADODB .Aqui básicamente insertamos
$obj->CerrarConexion();
echo "Se inserto";
}
else
echo "No se Pudo Insertar"; //mensaje de error
}
?>
esto seria todo si deseas conectarte con mas bases de datos solo tienes que buscar el nombre que utiliza adodb para conectarse a estas bases de datos y agregarlo en el archivo
cabdat.inc.php
cambiando principalmente esta linea
define('dbtipo','oci8');//este caso para oracle
define('dbtipo','postgres'); //y este para postgres
ahorra trabajo y se puede programar deferente como se dice. no tengo referencias ya que me base en experiencia propia
saludos
Enviado por ZiTAL el 18 Mayo, 2008 - 10:59.
Pongo otro ejemplo:
[code]
<?php
require_once('adodb.inc.php');
$server='host';
$user='user';
$pwd='pass';
$db='DB name';
$DB = NewADOConnection('mysql');
$DB->Connect($server, $user, $pwd, $db);
$rs = $DB->Execute("select * from tabla");
foreach ($rs as $row) {
echo '<pre>';
print_r($row);
echo '</pre>';
}
echo $rs->RecordCount();
?>
[/code]
Pero la verdad es que es MUY LENTO en hacer las query's. Al parecer hay otra libreria la pdo que ya lo trae php5 por defecto y es más rápido, voy a mirarlo.
Enviado por ZiTAL el 19 Mayo, 2008 - 12:49.
Para PDO que viene en el nucleo de php5
http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
No hay que tocar nada, lo he probado y en mysql por ejemplo va mas rapido que adodb, pero bueno no esta mal tener una alternativa.
Enviado por pipis el 19 Mayo, 2008 - 18:00.
Respuesta a Para PDO que viene en
hola bueno realmente no e verificado la velocidad ... aunque es un buen detalle pero aqui
http://www.antacobre.com/
les dejo una dirección que programe con unos amigos de la universidad utilizando esta tecnología bueno no sentí la diferencia si verifican la pagina demora algo en cargar es por que le adjuntamos una canción , pero al momento de programar no senti realmente la diferencia , tendré que ver para confirmar si demora en hacer los querys
saludos
---
La perseverancia es el primer paso al éxito

