ADOdb es un conjunto de librerías de bases de datos para PHP y Python. Esta permite a los programadores desarrollar aplicaciones web de una manera portable, rápida y fácil. La ventaja reside en que la base de datos puede cambiar sin necesidad de reescribir cada llamada a la base de datos realizada por la aplicación, por ejemplo, si tenemos la mitad del proyecto con MySQL y por x,y o z motivos tenemos que pasarla a Oracle ¡ lo único que cambiamos es el controlador de acceso y conexión! .
Según el Sitio Oficial de ADOdb, son soportadas las siguientes bases de datos:
- MySQL
- PostgreSQL
- Interbase
- Firebird
- Informix
- Oracle
- MS SQL
- Foxpro
- Access
- ADO*
- Sybase ASE
- FrontBase
- DB2
- SAP DB
- SQLite
- Netezza
- LDAP
- generic ODBC and ODBTP
INSTALACIÓN:
Abrimos el Gestor de paquetes Synaptic (o tu gestor de paquetes) e instalamos libphp-adodb o por consola:
$ sudo aptitude install libphp-adodb
Este paquete se instala por defecto en el directorio /usr/share/php/adodb, por consiguiente necesitamos hacer un enlace simbólico desde la carpeta /var/www/, para esto abrimos una consola y ejecutamos lo siguiente:
$ sudo ln -s /usr/share/php/adodb/ /var/www/adodb
Si es necesario le damos permisos de ejecución
$ sudo chmod 777 -R /var/www/adodb
Puedes descargarla desde aquí, la descomprimimes, la renombras como “adodb” y la colocas en tu directorio del proyecto y listo.
Pero ¿Como usar ADOdb?.
CONEXIÓN A LA BASE DE DATOS
Para conectarnos a la base de datos creamos un archivo llamado conexion.php y lo configuramos según nuestros parámetros:
<?php
//Invocamos la librería ADOdb
require_once("adodb/adodb.inc.php");
$conServidor = "localhost";
$conBaseDeDatos = "nombre_base_de_datos";
$conUsuario = "usuario";
$conClave = "clave";
/*
*Aquí especificamos el controlador que debe utilizar para la conexión
*MySQL: mysql
*/
$bd = NewADOConnection("mysql");
$bd->debug = false;
$bd->Connect($conServidor,$conUsuario,$conClave,$conBasededatos);
?>
FUNCIONES
Estas son las funciones basicas para cualquier tipo de acciones a una base de datos, podemos crear un archivo llamado bd_usuarios.php
<?php
/* Funcion de busqueda */
function buscar($bd, $arreglo)
{
//Con prepare precompilamos la consulta
$sql = $bd->Prepare("SELECT * FROM usuarios WHERE usuario = ? AND pass = ? ");
//Ejecutamos la consulta y tomamos los datos en forma matricial
$rs = $bd->GetAll($sql, $arreglo);
//Devolvemos la matriz con los registros consultados
return ($rs);
}
/* Funcion de listado */
function listar($bd)
{
//Con prepare precompilamos la consulta
$sql = $bd->Prepare("SELECT * FROM usuarios ORDER BY id ASC");
//Ejecutamos la consulta y tomamos los datos en forma matricial
$rs = $bd->GetAll($sql);
//Devolvemos la matriz con los registros consultados
return ($rs);
}
/* Funcion de insertar */
function insertar($bd, $arreglo)
{
//Insertamos en la base de datos
$rs = $bd->AutoExecute("tbl_usuarios", $arreglo, "INSERT");
return ($rs);
}
/* Funcion de modificar */
function modificar($bd, $arreglo, $__codigo)
{
/*
* Recibimos en el arreglo los datos a modificar
* El codigo es identificador de la fila o llave primaria
*
* Indicamos la tabla donde se va a modificar, los datos a modificar
* y la accion UPDATE y decimos que el campo id de la fila de la tabla sea igual
* al codigo recibido.
*/
$rs = $bd->AutoExecute("tbl_usuarios", $arreglo, "UPDATE", "id = '".$__codigo_usuario."'");
//retornamos true si se modifico con exito o false si se produjo algun error
return ($rs);
}
?>
LLAMADO A LAS FUNCIONES
A continuación veremos como preparamos los datos para registrar/buscar/modificar en una base de datos
<?php
//incluimos el archivo con la conexion y las funciones
require_once 'conexion.php';
require_once 'bd_usuarios.php';
/* Busqueda */
//Definimos una variable tipo array con los datos recibidos de un formulario
//o cualquier tipo de dato
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = buscar($bd, $reg)
if ($rs)
echo "Encontrado";
else
echo "No se encontro el registro";
/* Funcion de listado */
$rs = listar($bd);
foreach($rs as $k => $fila)
{
echo "Campo: ".$fila['nombre_campo o numero_posicion']."<br>\n";
}
/* Funcion de insertar */
//Definimos una variable tipo array con los datos recibidos de un formulario
//o cualquier tipo de dato
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = insertar($bd, $reg)
if($rs)
echo "Se registro correctamente";
else
echo "Se produjo un error al guardar los datos";
/* Funcion de modificar */
$__codigo = $__codigo_de_la_fila_o_llave_primaria;
$reg = array();
$reg['Campo1_tabla'] = $_POST['campo_formulario´]
$reg['Campo2_tabla'] = $_POST['campo_forulario']
$rs = modificar($bd, $reg, $__codigo)
if($rs)
echo "Se Modifico correctamente";
else
echo "Se produjo un error al modificar los datos";
?>
Espero que este super mini tutorial les sirva de ayuda y los guie un poco. Actualmente estoy trabajando en un ejemplo práctico con adodb tanto estructurado como orientado a objetos, así que les pido un poco de paciencia.
Cualquier inquietud puedes dejar un comentario.
Comentarios recientes