Comunidad Delphiaccess

Por favor ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

Noticias y Eventos:




Autor Tema: ¿Cómo conectarse a Firebird desde PHP?  (Leído 1227 veces)

0 Usuarios y 1 Visitante están viendo este tema.

« en: 08 de Noviembre de 2009, 17:28:43 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
¿Cómo conectarse a Firebird desde PHP?
« en: 08 de Noviembre de 2009, 17:28:43 »
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 AppServ.

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 WINDOWS, 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:

Citar
extension_dir=”c:\AppServ\php-5\ext\”


Nota: deben colocar la carpeta de PHP correcta de acuerdo a la versión de AppServ descargada.

Y por último buscamos la línea session.save_path, Pero antes debemos crear una carpeta temporal en el directorio de Apache ubicado en C:\AppServ, en este caso he creado una carpeta llamada tmp, quitamos el ";" en caso de tenerlo y cambiamos la línea así:

Citar
session.save_path=”c:\AppServ\Apache2\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! :D ), y ponemos la dirección 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.


Conectarse a Firebird

Ahora vamos a proceder a conectarnos a firebird desde PHP.

Código para conectar a la base:

Código: [Seleccionar]
$conn=ibase_connect("localhost:C:\\AppServ\\www\\fdb\\MUSICA.FDB", "SYSDBA", "masterkey");
   if (!$conn)
   { echo "Acceso Denegado!";
   exit; }


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:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
   <html>
   <head>
   <title>Untitled Document</title>
   <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
   </head>
 
   <body>
   <?php
   $conn=ibase_connect("localhost:C:\\AppServ\\www\\fdb\\MUSICA.FDB", "SYSDBA", "masterkey");
   if (!$conn)
   { echo "Acceso Denegado!";
   exit; }
 
   $query="select ARTISTA from ARTISTAS;";
   $result=ibase_query($conn,$query);
   if (!$result) {
   echo "no se puede mostrar datos desde la consulta: $query!";
   exit;
   }
 
   $row=ibase_fetch_object($result);
 
   while ($row = ibase_fetch_object ($result)) { ?>
   <table width="200" border="1">
   <tr>
   <td><? echo "$row->ARTISTA"; ?></td>
   </tr>
   </table>
   <? } ?>
   <p>&nbsp;</p>
   </body>
   </html>

Pues eso es todo, así de sencillo es, más abajo anexo los códigos fuentes de este ejemplo.

No duden en preguntar y dejen tus comentarios.

Saludos.
« última modificación: 08 de Noviembre de 2009, 19:06:45 por enecumene »

«Responder #1 en: 08 de Noviembre de 2009, 18:57:46 »
En línea

felipe

  • Administrador
  • *******
  • Calificaciones: +27/-0
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 1,546
  • Gracias
  • -Dados: 17
  • -Recibidos: 18
  • 100% producto colombiano
    • WWW
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #1 en: 08 de Noviembre de 2009, 18:57:46 »
Muy bueno amigo, felicidades y gracias (y)


Saludos!
Que Dios te tenga en su gloria amigo lKinGl...

Web - Flickr

«Responder #2 en: 08 de Noviembre de 2009, 19:03:24 »
En línea

escafandra

  • Moderadores
  • ******
  • Calificaciones: +227/-0
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 1,168
  • Gracias
  • -Dados: 24
  • -Recibidos: 203
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #2 en: 08 de Noviembre de 2009, 19:03:24 »
Excelente, enecumene(y)

Saludos.

«Responder #3 en: 08 de Noviembre de 2009, 22:53:53 »
En línea

egostar

  • Administrador
  • ******
  • Calificaciones: +192/-6
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 5,494
  • Gracias
  • -Dados: 266
  • -Recibidos: 159
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #3 en: 08 de Noviembre de 2009, 22:53:53 »
Ah vaya, que bien amigo, excelente. (y)

Salud OS

"Nunca interrumpas a tu enemigo cuando está cometiendo un error."

- Napoleon Bonaparte


 

«Responder #4 en: 09 de Noviembre de 2009, 07:55:08 »
En línea

Wilson

  • Miembro Platino
  • *****
  • Calificaciones: +79/-0
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 487
  • Gracias
  • -Dados: 64
  • -Recibidos: 57
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #4 en: 09 de Noviembre de 2009, 07:55:08 »
Gracias amigo, muy buen aporte. (y) (y)
Los libros son como semillas. Pueden estar siglos aletargados y luego florecer en el suelo menos prometedor.   Carl Sagan.

Cada compañero del foro es un libro en potencia.

«Responder #5 en: 08 de Febrero de 2010, 08:06:16 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #5 en: 08 de Febrero de 2010, 08:06:16 »
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

«Responder #6 en: 08 de Febrero de 2010, 10:16:54 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #6 en: 08 de Febrero de 2010, 10:16:54 »
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!.

«Responder #7 en: 08 de Febrero de 2010, 10:54:10 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #7 en: 08 de Febrero de 2010, 10:54:10 »
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

«Responder #8 en: 08 de Febrero de 2010, 10:56:31 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #8 en: 08 de Febrero de 2010, 10:56:31 »
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.

«Responder #9 en: 08 de Febrero de 2010, 11:31:51 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #9 en: 08 de Febrero de 2010, 11:31:51 »
de nuevo gracias enecumene, voy a desintalar todo y reinstalo para ver si me funciona... apenas termine todo te comento...

«Responder #10 en: 08 de Febrero de 2010, 15:03:33 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
¿Cómo conectarse a Firebird desde PHP?
« Respuesta #10 en: 08 de Febrero de 2010, 15:03:33 »
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 (y)

«Responder #11 en: 08 de Febrero de 2010, 17:55:21 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #11 en: 08 de Febrero de 2010, 17:55:21 »
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 (y)

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

Saludos.

«Responder #12 en: 09 de Febrero de 2010, 08:34:15 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #12 en: 09 de Febrero de 2010, 08:34:15 »
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...

Código: [Seleccionar]
<?php
$path = 'C:\EMPLOYEE.FDB'; ó $path = 'localhost:C:\EMPLOYEE.FDB';
$usuario = 'SYSDBA';
$password = 'masterkey';
$dbhd = ibase_connect ($path, $usuario, $password);
$sql = 'SELECT * FROM EMPLOYEE';
$consulta = ibase_query ($dbhd, $sql);
while ($fila = ibase_fetch_object ($consulta))
{
print $fila->EMP_NO . "\n";
 
}
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, .... )
« última modificación: 09 de Febrero de 2010, 09:06:41 por enecumene »

«Responder #13 en: 09 de Febrero de 2010, 09:05:49 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #13 en: 09 de Febrero de 2010, 09:05:49 »
Hola JAI_ME, ¿qué pasó con el code que posteé en el primer post?, debería de funcionarte, de todos modos intentalo así:

Código: [Seleccionar]
print '<div>' . $fila->EMP_NO . '</div><br />';

luego nos comentas.

Saludos.

«Responder #14 en: 09 de Febrero de 2010, 09:30:29 »
En línea

tacubo

  • Miembro Platino
  • *****
  • Calificaciones: +2/-2
  • Desconectado Desconectado
  • Mensajes: 116
  • Gracias
  • -Dados: 0
  • -Recibidos: 1
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #14 en: 09 de Febrero de 2010, 09:30:29 »
amigo JAI_ME mira yo no entiendo para que es eso de close  :huh: 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  :angry: que  mal pedo por el que lo vende  :$$$: )
pero por ejemplo yo use consultas de este tipo

Código: [Seleccionar]
$qryCia="select c_curso,d_curso from cursos 
            where c_st='A'
            order by d_curso"
; //primero haces la consulta
$resCia= ifx_prepare($qryCia,$conecta,IFX_SCROLL); //en informix
//preparas conexi'on al motor cualquiera que tu tengas claro esta
ifx_do($resCia); //se realiza conexion con todo y la consulta
while ($filaCia=ifx_fetch_row($resCia,"NEXT")){//desplegado de los
//registros e impresion y ya estuvo
echo $filaCia[c_curso]."-".$filaCia[d_curso]."<br>";
}


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  :D

encontre esta pagina espero te sirva lo malo en ingles
http://php.net/manual/en/book.ibase.php

suerte  :cheesy:
« última modificación: 09 de Febrero de 2010, 10:15:31 por enecumene »

«Responder #15 en: 09 de Febrero de 2010, 10:41:35 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #15 en: 09 de Febrero de 2010, 10:41:35 »
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

«Responder #16 en: 09 de Febrero de 2010, 11:21:38 »
En línea

tacubo

  • Miembro Platino
  • *****
  • Calificaciones: +2/-2
  • Desconectado Desconectado
  • Mensajes: 116
  • Gracias
  • -Dados: 0
  • -Recibidos: 1
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #16 en: 09 de Febrero de 2010, 11:21:38 »
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
campo1campo2
resgistro1resgistro1
resgistro2resgistro2
resgistro3resgistro3
resgistro4resgistro4

eso es lo que quieres hacer

«Responder #17 en: 09 de Febrero de 2010, 11:28:08 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #17 en: 09 de Febrero de 2010, 11:28:08 »
Recomiendo que pruebes cambiando "<?php" por "<?" y otra cosa, veo lo siguiente:

Código: [Seleccionar]
$path = 'C:\EMPLOYEE.FDB'; ó $path = 'localhost:C:\EMPLOYEE.FDB';

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

Saludos.

«Responder #18 en: 09 de Febrero de 2010, 11:36:53 »
En línea

JAI_ME

  • Usuario Activo
  • ***
  • Calificaciones: +0/-0
  • Desconectado Desconectado
  • Mensajes: 21
  • Gracias
  • -Dados: 0
  • -Recibidos: 0
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #18 en: 09 de Febrero de 2010, 11:36:53 »
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....

 :^)

«Responder #19 en: 09 de Febrero de 2010, 11:51:07 »
En línea

enecumene

  • Administrador
  • *******
  • Calificaciones: +151/-1
  • Desconectado Desconectado
  • Sexo: Masculino
  • Mensajes: 3,784
  • Gracias
  • -Dados: 160
  • -Recibidos: 106
  • DA Webmaster
Re: ¿Cómo conectarse a Firebird desde PHP?
« Respuesta #19 en: 09 de Febrero de 2010, 11:51:07 »
Bueno intenta ésto último, coloca la ruta de la BD así:

Citar
$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 generada en 1.549 segundos con 48 consultas.