Hoy vamos a probar el acceso a datos con otro gestor: Interbase de Firebird.
Como en el caso de MSSQL vamos a comenzar con la configuración para evitarnos un error muy común : Fatal error: Call to Undefined function...
Lo primero es tener la dll. Vamos a comenzar buscando en el directorio dlls donde tengamos instalado el php para verificar si está allí la dll php_interbase.dll. Si no se encuentra debes descargarla de internet y copiarla en el directorio antes mencionado.
Una vez que tienes la dll hay que modificar el php.ini. Lo puedes hacer con el notepad. Las modificaciones son muy sencillas.
Buscar la linea
;extension=php_interbase.dll
Se les quita el ; que tiene delante. Guardas los cambios. Reinicias el Apache y listo.
Importante: Si la dll no estaba en la instalación y te las tuviste que descargar de internet debes cambiar también la linea
extension_dir = Para poner la dirección donde se encuentran las dlls.
Una vez configurado todo vamos al código.
Existen las funciones especificas para conectarnos:
ibase_connect(BD, login, password)
ibase_pconnect(BD, login, password)
Las diferencias son básicamente las mismas que están explicadas en la entrada Conexión a MySQL desde PHP para las funciones similares de MySQL.
Vamos entonces el ejemplo para la conexión.
<?
//ver que en estas funciones se da la ruta hasta la base de datos y no el nombre del servidor por lo
// que no hay que utilizar select_db. En el ejemplo la base de datos se llama Prueba y está en el
//servidor remoto APPS
$DB="APPS\CIENCIAYTECNICA\BaseDatos\Prueba.GDB";
//Voy a utilizar el login y el password que trae Interbase por defecto.
$User="sysdba";
$Pass="masterkey";
@ibase_pconnect($DB,$User,$Pass) or die("Error al conectarse a la base de datos") ;
?> Mi Recomedación: Reitero la recomendación que di en la entrada anterior. Creo que es mejor tener el código de conexión en un archivo aparte y referenciarlo de cada una de las páginas donde se necesite luego. De esta forma ante cualquier cambio en los datos de conexión como nombre del servidor, login o password, solo hay que realizar los cambios en un archivo.
Una vez conectados podemos realizar las consultas a la base de datos, ya sea INSERT, UPDATE, SELECT, DELETE. Para todas se utiliza la misma sentencia ibase_query($conexion, $cadenaconsulta) solo cambia la cadena de la consulta. Fíjese que a diferencia de las funciones similares de MSSQL y MySQL aquí el identificador de conexión se pasa primero y luego la cadena de consulta. Si no se pasa ningún identificador de conexión por defecto toma la última conexión abierta.
Veamos un ejemplo de consultas a la base de datos:
<?
/* Si como recomendé pusiste tu código de conexión en un archivo aparte lo primero es referenciarlo. Puedes hacerlo con require() o include().*/
include(''../conexion.php'');
//consulto la base de datos
$resultcliente = ibase_query($conexion ,"select NCliente, NombreCliente from clientes");
//muestro los resultados
while ($c=ibase_fetch_object($resultcliente)) //como hay varias filas lo pongo dentro de un ciclo
{
echo $c->NombreCliente; //imprimo los resultados
}//cierro el while
//los resultados se pueden mostrar en algún elemento html como listbox, checkbox, etc..
?>
Bueno hasta aquí la entrada de hoy, espero sus comentarios y preguntas al respecto.
Nos vemos mañana para seguir hablando de programación.