Hola a todos les presento este pequeño script que hice en php.
Básicamente su función es la de facilitar de manera en la cual realizamos nuestros querys en la base de datos, reutilizando el codigo contenido en este set de funciones.
Cual es el alcance?
Es un script compatible unicamente con MySQL server.
Su objetivo es realizar las siguientes operaciones de bases de datos, de la manera mas simple posible:
- Insertar datos
- Ejecutar un query
- Actualizar
- Actualizar con condiciones
- borrar
- revisar si existe un registro
Como funciona?
bien el script consta de dos simples archivos
- config.php
- db_functions.php
en config.php basicamente debemos editar los campos mostrados con los datos de nuestra base de datos.
ejemplo:
<?php $db_host = "localhost"; $db_name = "mi_base_de_datos"; $db_user = "usuario_de_la_base_de_datos"; $db_pass = "password_de_la_base_de_datos"; ?>
Simplemente reemplazar con los datos de vuestra base de datos.
bien, luego que ya tenemos eso, lo siguiente que hay que mencionar es que tanto el config.php como el db_funcitions.php deben estar en el mismo directorio.
luego ya podemos comenzar a utilizar el db_functions.php
lo primero que hay que hacer para esto es, instanciar el script en donde se quiera utilizar, del siguiente modo:
include('db_functions.php');
si el script no esta en el mismo directorio entonces habra que agregar el path absoluto hacia el script en la clausula include.
Codigo de ejemplo:
Insertar un registro:
la definición de la función es la siguiente:
insert( String nombre_de_la_tabla, array nombre_de_campos, array valores );
asi pues si quisieramos ingresar al usuario (en la tabla usuario) con los siguientes datos:
- nombre: ricardogeek
- email: [email protected]
- contraseña: osito_de_goma
tendriamos que escribir el siguiente codigo:
insert( 'usuario', array('nombre', 'email', 'osito_de_goma'), array('\'ricardogeek\'', '\'[email protected]\'', '\'osito_de_goma\'') );
Ejecutar un query (select)
bueno esta es mas simple, recibe un parámetro string que representa un query, OJO: si el query que le pasas a la función NO devuelve nada, es decir no es SELECT o por el estilo, entonces es mejor utilizar otra función.
su uso es mas simple
do_query( String select_query );
ejemplo:
$resultado = do_query('SELECT * FROM usuario);
el resultado, viene en el siguiente formato:
$resultado = Array( [n] => Array( [0] => ['ricardogeek'], [usuario] => [ricardogeek], [1] => ['[email protected]'], [email] => ['[email protected]'] , [2] => ['osito_de_goma'], [contraseña] => ['osito_de_goma'] ) );
en donde “n” sera el indice del registro, es decir, si nuestra base de datos tiene 14 usuarios, n = 14, y cada uno de estos contiene otro array con la información del usuario, tanto numérica (por indices) como nominal (por nombre del campo). Asi pues si quisiera acceder al nombre del usuario del n-esimo registro, se hace de la siguiente manera:
//numerico o por indices $nombre = $resultado[n][j]; //el j-esimo dato en el n-esimo registro //nominal o por nombres $nombre = $resultado[n]['nombre']; //el campo 'nombre' en el n-esimo registro
Actualizar un registro
Bien hay dos formas de hacerlo, condicion exacta y condicion LIKE, las definiciones para estas funciones son:
Condicion exacta:
update( String tabla, array campos_a_actualizar, array valores_a_actualizar, array campos_de_condicion, array valores_de_condicion );
esta funcion actualiza los valores de la tabla en los campos especificados, utilizando un operador ‘=’ en el query, es decir que el valor de la condición es exactamente igual al del campo.
Condicion con LIKE:
update_where_like( String tabla, array campos_a_actualizar, array valores_a_actualizar, array campos_de_condicion, array valores_de_condicion );
esta funcion hace exactamente lo mismo, pero con la diferencia que esta vez utiliza el operador logico ‘LIKE’ para hacer la comparación de actualización.
hago notar: la longitud del los array debe ser igual en la siguiente relacion:
campos_a_actualizar = valores_a_actualizar campos_de_condicion = valores_de_condicion
ejemplo:
update( 'usuario', array('contraseña'), array('ricardogeek123'), array('nombre'), array('ricardogeek') )
Revisar si existe un registro
Esta función revisa un campo de una tabla y lo compara con un valor, para ver si dicho valor ya existe dentro de la base de datos. Útil para verificar datos que no tienen la propiedad “PRIMARY” como por ejemplo la existencia de un nombre de usuario.
check( String tabla, array campos_a_verificar, array valores_a_verificar ); @return: 'yes' -> en caso de existir, 'no' -> en caso de no existir.
ejemplo:
$usuario_existe = check( 'usuario', array('nombre'), array('\'ricardogeek\'') ); if($usuario_existe == 'yes'){ //existe } if($usuario_existe == 'no'){ //no existe }
Manejo de errores
Cuando un error ocurre, la clausula die() es llamada con un mensaje de error.
el formato es:
ERROR: XXX < descripción > - <query problematico>
donde XXX es el codigo del error, de acuerdo con la siguiente especificacion:
ERROR 001: error de conexion
ERROR 002: error al ejecutar un query, en la función do_query()
ERROR 003: error al insertar un registro en la función insert()
ERROR 004: inconsistencia en la longitud de los arrays en la funcion check()
ERROR 005: error al verificar un registro con la función check()
ERROR 006: error al ejecutar una actualización con la función update();
ERROR 007: error al ejecutar una actualización con la función update_where_like();
Descarga
para descargar esta libreria, ir a la pagina de descarga. o bien click aqui