Está en la página 1de 7

21/12/2018 ¿Cómo conectarse a Firebird desde PHP?

- Tutoriales - Comunidad Delphiaccess

Comunidad Delphiaccess → COLABORACIÓN → Tutoriales

¿Cómo conectarse a Firebird desde PHP?


Comenzado por enecumene , nov 08 2009 05:28

Página 1 de 3

Escrito 08 noviembre 2009 - 05:28


enecumene

Hola amigos, este tema lo traigo desde mi BLOG, debido a que como paso la mayor parte de mi tiempo en el foro y es un tema
muy visitado también, para que no se pierda la coloco aquí , empecemos.

En este breve tuto les enseñaré como conectar una base de datos Firebird desde PHP, como es una de las bases más populares
del momento es justo también aprender a conectarse desde otro lenguaje que no sea Delphi (¿VB?, ¡Guacala!). En este tutorial
vamos a tratar con un servidor local, para los que no tienen Apache y PHP y no tienen mucho conocimientos para la instalación
de las mismas, pueden descargarse un pack con todo incluido e instalación automática, la cual recomiendo ampliamente XAMPP
(https://www.apachefriends.org/es/index.html)

Luego de instalar el servidor, procedemos a detener el servicio Apache antes de hacer cualquier modificación, luego localizar el
archivo PHP.INI (recuerda realizar un backup de este archivo antes de.. ) ubicado en la carpeta C:\XAMPP, lo abrimos y
buscamos la línea php_interbase.dll y le quitamos el punto y coma “;” que tiene delante y así activamos esa extensión. Lo
siguiente que haremos es buscar la línea extension_dir y le cambiamos su valor a:

Cita

extension_dir="C:\xampp\php\ext"

Si está descomentado dejémoslo así, quiere decir viene por defecto en la instalación de XAMPP.

Y por último buscamos la línea session.save_path, Pero antes debemos verificar que exista una carpeta tmp, si no existe la
creamos, luego quitamos el ";" en caso de tenerlo y cambiamos la línea así:

Cita

session.save_path="C:\xampp\tmp"

y eso es todo, grabamos y reiniciamos Apache y luego reiniciamos la pc para que los cambios hagan efectos con más efectividad.
Luego de reiniciado la PC, procedemos a revisar si se realizaron los cambios correctamente abriendo el navegador web de su
preferencia (en mi caso Firefox, ¿IE? ¡Guacala! ), y ponemos la dirección http://Localhost/phpinfo.php,
(http://Localhost/phpinfo.php,) y vas a ver la configuración completa de PHP, más abajo debe aparecer la configuración de
Interbase, si les aparece pues todo está instalado correctamente.

interbase.jpg
Conectarse a Firebird

Ahora vamos a proceder a conectarnos a firebird desde PHP.

Código para conectar a la base:

PHP

1. $conn = ibase_connect (http://www.php.net/ibase_connect) ("localhost:C:\\XAMPP\\htdocs\\fdb\\MUSICA.FDB", "SY


2.
3. if (!$conn)
4. {
5. echo "Acceso Denegado!";
6. exit (http://www.php.net/exit) ;

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 1/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess
7. }

El anterior código creo que es bastante claro, Localhost es el host seguido de la ubicación de la base de datos, SYSDBA es el user
y masterkey la contraseña.

Ahora les haré un ejemplo completo con un query y mostrar los resultados en una tabla:

PHP

1. <?php
2. $conn=ibase_connect (http://www.php.net/ibase_connect) ("localhost:C:\\XAMPP\\htdocs\\fdb\\MUSICA.FDB", "
3.
4. if (!$conn)
5. {
6. echo "Acceso Denegado!";
7. exit (http://www.php.net/exit) ;
8. }
9.
10. $query = "select ARTISTA from ARTISTAS;";
11.
12. $result = ibase_query (http://www.php.net/ibase_query) ($conn,$query);
13.
14. if (!$result)
15. {
16. echo "no se puede mostrar datos desde la consulta: $query!";
17. exit (http://www.php.net/exit) ;
18. }
19.
20. $row = ibase_fetch_object (http://www.php.net/ibase_fetch_object) ($result);
21.
22. while ($row = ibase_fetch_object (http://www.php.net/ibase_fetch_object) ($result))
23. { ?>
24. <table width="200" border="1">
25. <tr>
26. <td><? echo $row->ARTISTA; ?></td>
27. </tr>
28. </table>
29. <? } ?>
30.
31. ?>

No duden en preguntar y dejen tus comentarios.

Saludos.

Escrito 08 noviembre 2009 - 06:57


felipe

Muy bueno amigo, felicidades y gracias

Saludos!

Escrito 08 noviembre 2009 - 07:03


escafandra

Excelente, enecumene,

Saludos.

Escrito 08 noviembre 2009 - 10:53


egostar

Ah vaya, que bien amigo, excelente.

Salud OS

Escrito 09 noviembre 2009 - 07:55


Wilson

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 2/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess

Gracias amigo, muy buen aporte.

Escrito 08 febrero 2010 - 08:06


JAI_ME

buenos dias, estoy trantando de configurar php y firebird hago todo lo que dice enecumene pero en el phpinfo no me aparece
nada relacionado a interbase, como si no estuviera configurado.

me pueden colaborar.

muchisimas gracias por la atencion que me puedan prestar

instale el appserv 2.6 y tengo firebird 2

Escrito 08 febrero 2010 - 10:16


enecumene

Hola JAI_ME, haz lo siguiente:

- Detén el servicio Apache a través de Inicio-> Programas->AppServ->Control Server by Service->Stop Apache.


- Vas a la carpeta de Windows y buscas el archivo php.ini.
- Abres el archivo y buscas la línea extension=php_interbase.dll, si tiene un punto y coma por delante así: "
;extension=php_interbase.dll " lo quitas, lo grabas.
- Reinicia el servicio Apache a través del punto 1 dandole a Restart Apache o Start Apache.
- Revisa de nuevo el PHPInfo.

¡Suerte!.

Escrito 08 febrero 2010 - 10:54


JAI_ME

Gracias por la pronta respuesta, si efectivamente habia hecho eso incluso reinicie el equipo y no me funciona.
que podra ser... me puedes ayudar ?

gracias

Escrito 08 febrero 2010 - 10:56


enecumene

JAI_ME, el 08 Feb 2010 - 1:54 PM, dijo:

Gracias por la pronta respuesta, si efectivamente habia hecho eso incluso reinicie el equipo y no me funciona.
que podra ser... me puedes ayudar ?

gracias

Ah caray, pues puede ser asunto de versión de AppServ, intenta descargarte la anterior el 2.5.10 que es el que tengo.

Saludos.

Escrito 08 febrero 2010 - 11:31


JAI_ME

de nuevo gracias enecumene, voy a desintalar todo y reinstalo para ver si me funciona... apenas termine todo te comento...

Escrito 08 febrero 2010 - 03:03


JAI_ME

De nuevo gracias enecumene por sus sabios consejos, efectivamente no se porque extraña razon en la version de Appserv 2.6 no
se puede configurar firebird, pero instale el appserver 2.5.10 y me funciono, en el info de php mustra la informacion de
interbase, ahora me toca es conectarme desde php. cualquier duda los sigo molestado.

gracias

Escrito 08 febrero 2010 - 05:55


enecumene

JAI_ME, el 08 Feb 2010 - 6:03 PM, dijo:

De nuevo gracias enecumene por sus sabios consejos, efectivamente no se porque extraña razon en la version de Appserv 2.6 no se puede
configurar firebird, pero instale el appserver 2.5.10 y me funciono, en el info de php mustra la informacion de interbase, ahora me toca es
conectarme desde php. cualquier duda los sigo molestado.

gracias

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 3/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess

Ah qué bien amigo, pues espero tus resultados que aquí estaré para ayudarlo .

Saludos.

Escrito 09 febrero 2010 - 08:34


JAI_ME

de nuevo por aca, ahora intentando conectarme con codigo phpa a firebird pero lo que he encontrado esta un poco enredado, lo
que mejor encontre en un foro fué el siguiente codigo si gustan pueden probarlo y veran que les muestra...

PHP

1. <?php
2. $path = 'C:\EMPLOYEE.FDB'; ó $path = 'localhost:C:\EMPLOYEE.FDB';
3. $usuario = 'SYSDBA';
4. $password = 'masterkey';
5. $dbhd = ibase_connect (http://www.php.net/ibase_connect) ($path, $usuario, $password);
6. $sql = 'SELECT * FROM EMPLOYEE';
7. $consulta = ibase_query (http://www.php.net/ibase_query) ($dbhd, $sql);
8. while ($fila = ibase_fetch_object (http://www.php.net/ibase_fetch_object) ($consulta))
9. {
10. print $fila->EMP_NO . "\n";
11.
12. }
13. ibase_close (http://www.php.net/ibase_close) ($dbhd);?>

En mi caso particualar me aparece lo siguiente, y no se porque.... ?

GRADO . "\n"; } ibase_close ($dbhd); ?>

les agradezco su colaboración y ayuda, adicionalmente quisiera preguntarles donde puedo enontrar un tutorial o manual donde
encuentre todo hacerca de PHP y FIREBIRD (conexcion, funciones, etc, etc, .... )

Escrito 09 febrero 2010 - 09:05


enecumene

Hola JAI_ME, ¿qué pasó con el code que posteé en el primer post?, debería de funcionarte, de todos modos intentalo así:

PHP

1. print '<div>' . $fila->EMP_NO . '</div><br />';

luego nos comentas.

Saludos.

Escrito 09 febrero 2010 - 09:30


tacubo

amigo JAI_ME mira yo no entiendo para que es eso de close pero por lo que yo e usado es como lo muestra nuestro

amigo enecuneme(por cierto saludos hace tiempo que ni un saludo jajajaja) no se para que sea pero por lo que yo entiendo la
consulta que tu quieres de alguna manera conectar ver y luego cerrar en php no se comporta como delphi
que haces la conexion y luego la cierras como muestra en el ejemplo
enecuneme asi yo tambien lo e aplicado claro no en la base de datos que maneja o nos esta enseñando sino yo lo e manejado con

informix_sql(aclarando es de paga y no gratis que mal pedo por el que lo vende )

pero por ejemplo yo use consultas de este tipo

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 4/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess

PHP

1. $qryCia="select c_curso,d_curso from cursos


2. where c_st=&#39;A&#39;
3. order by d_curso"; //primero haces la consulta
4. $resCia= ifx_prepare($qryCia,$conecta,IFX_SCROLL); //en informix
5. //preparas conexi&#39;on al motor cualquiera que tu tengas claro esta
6. ifx_do($resCia); //se realiza conexion con todo y la consulta
7. while ($filaCia=ifx_fetch_row($resCia,"NEXT")){//desplegado de los
8. //registros e impresion y ya estuvo
9. echo $filaCia[c_curso]."-".$filaCia[d_curso]."<br>";
10. }

como vez en ningun momento tampoco usa eso del close yo lo que te recomendaria hazlo como lo muestra enecumene si lo puso
es porque funciona porque en realidad nunca e usado ese close y la verdad no se ni que finalidad tenga hasta estoy pensando en
que ni siquiera va ahi a lo mejor debe de ir en una clase como si ya fueras a cerrar una aplicacion como vez bueno es lo que
pienso y e echo suerte

encontre esta pagina espero te sirva lo malo en ingles


http://php.net/manua.../book.ibase.php (http://php.net/manual/en/book.ibase.php)

suerte

Escrito 09 febrero 2010 - 10:41


JAI_ME

El codigo de arriba me gusta pero no me funciono, al probarlo me sale lo siguiente

____________
GRADO"; ?>
____________

como si no mostrara el resultado (el atributo en mi tabla se llama grado), cual sera el problema ? habra alguna forma de saber
donde exactamente esta el error, un compilador o algo parecido que lo oriente a uno?

gracias

Escrito 09 febrero 2010 - 11:21


tacubo

hola amigo JAI_ME ya me perdi o sea no tienes problema en la consulta sino en la presentacion por asi decirlo

es decir te sale lo siguiente con el eco por ejemplo

campo1 campo2
resgistro1 resgistro1
resgistro2 resgistro2
resgistro3 resgistro3
resgistro4 resgistro4

y tu lo quieres asi [table]


[tr]
[td]campo1[/td][td]campo2[/td]
[/tr]
[tr]
[td]resgistro1[/td][td]resgistro1[/td]
[/tr]
[tr]
[td]resgistro2[/td][td]resgistro2[/td]
[/tr]
[tr]
[td]resgistro3[/td][td]resgistro3[/td]
[/tr]
[tr]
[td]resgistro4[/td][td]resgistro4[/td]
[/tr]
[/table]

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 5/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess

eso es lo que quieres hacer

Escrito 09 febrero 2010 - 11:28


enecumene

Recomiendo que pruebes cambiando "<?php" por "<?" y otra cosa, veo lo siguiente:

PHP

1. $path = 'C:\EMPLOYEE.FDB'; ó $path = 'localhost:C:\EMPLOYEE.FDB';

¿El code está así o fue expresamente?.

Saludos.

Escrito 09 febrero 2010 - 11:36


JAI_ME

respondiendole a tabuco, creo que la consulta si esta bien el problema es que no me muestra ningun resultado en ninguna de
las dos formas...?????

a enecumene lo que exprese alli fue simbolicamente, es decir, de la forma en que lo coloque me sale lo mismo es decir nada...
???

solo sale el nombre del atributo como lo mostre anteriormente....

:^)

Escrito 09 febrero 2010 - 11:51


enecumene

Bueno intenta ésto último, coloca la ruta de la BD así:

Cita

$path = 'localhost:C:\\EMPLOYEE.FDB';

con doble "\" y recuerda que en la consulta los nombres de los campos y tabla deben estar en mayusculas.

¡Suerte!.

Página 1 de 3 Volver a Tutoriales

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 6/7
21/12/2018 ¿Cómo conectarse a Firebird desde PHP? - Tutoriales - Comunidad Delphiaccess

Aplicación para importar de Tutorial (como empezar con [CODIGO FUENTE] IBExpert 3.0 en Window
Excel a Interbase/Firebird - Firebird) Para Novatos - SpeechRecognizer para Firebird
Delphi Tutoriales Android - Trucos y Consejos

Delphi [RESUELTO] Error de dialecto BUSCAR UN DATO EN TODA crear sistema con lector
firebird - Firebird LA TABLA MYSQL - MySQL huellas - PHP, Ajax, Java
y HTML

Comunidad Delphiaccess → COLABORACIÓN → Tutoriales

http://delphiaccess.com/foros/index.php/topic/2127-%C2%BFc%C3%B3mo-conectarse-a-firebird-desde-php/ 7/7

También podría gustarte