Ir al contenido



Foto

¿Cómo conectarse a Firebird desde PHP?


  • Por favor identifícate para responder
47 respuestas en este tema

#21 tacubo

tacubo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 130 mensajes

Escrito 09 febrero 2010 - 12:01

pues asi se dice amigo JAI_ME mira creo que puede ser esto

tu en tu select en la base de datos puedes hacer esto
si tienes una tabla como por ejemplo

tabla deptos
campo=depto          campo2=puesto
registro1=sistemas    registro1=programador
registro1=sistemas    registro1=DBA

cuando tu haces el select puedes hacer esto para que salga lo mismo
por ser iguales

select * from deptos
o
select depto,puesto from deptos


pero en php por lo que yo se no es igual amigo la razon es la siguiente
en php tu haces el while y este tiene que identificar un campo de la tabla pero por lo que se php no sabe que es el * por lo tanto no sabe que te va a mostrar tienes que hacer la referencia al campo que tu quieres por eso en el select te recomiendo que utilices la 2 opcion que te pongo aqui de esa manera solucionas que te muestre algo esa es una manera de empezar primero cuando hagas las consultas en php para una base sea cual sea el motor te recomiendo mostrar uncampo y todos los registros asi veras si es un error en la tabla o de conexion o de dedos  :cool: aqui estamos para ayudar
:cheesy:


  • 0

#22 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 09 febrero 2010 - 12:02

si ya enseguida lo pruebo, ya les comento
  • 0

#23 tacubo

tacubo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 130 mensajes

Escrito 09 febrero 2010 - 12:16

avisanos amigo jaime no nos queremos quedar con el jesus en la boca de que que paso con esas pruebas jajajaja :smiley:
  • 0

#24 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 09 febrero 2010 - 12:33

amigo enecumene  lo unico que hize fue copiar el todo el codigo que copiaste arriba y lo pegue en dreamweaver modifique la parte de la bd y la consulta esta última funciona porque la probe directamente en firebird...

le comento "creo" que la conexion esta bien ya que en ese punto no me saca ningun error (creo, no tengo donde identificar si el problema es allí), pienso lo mismo que decia hace un rato tabuco el problema esta al momento de mostrar los datos..... que es lo unico que me muestra la pagina ya les muestro exactamente...

el codigo copiado y modificado es el siguiente

______________________________________________________________________________
<!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:\\escuelas.fdb", "ESCUELAS", "ESCUELAS");
    if (!$conn)
    { echo "Acceso Denegado!";
    exit; }

    $query="select GRADO from ORDENGRADO order by COD_GRADO;";
    $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->grado"; ?></td>
    </tr>
    </table>
    <? } ?>
    <p>&nbsp;</p>
    </body>
    </html>
_____________________________________________________________________________________

y el resultado es:[table]
[tr]
[td]GRADO"; ?>[/td]
[/tr]
[/table]

espero ahora si me comprenda que estoy haciendo, es todo lo que he hecho hasta el momento nada mas...

muchisimas gracias..


  • 0

#25 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 09 febrero 2010 - 12:37

amigo enecumene  lo unico que hize fue copiar el todo el codigo que copiaste arriba y lo pegue en dreamweaver modifique la parte de la bd y la consulta esta última funciona porque la probe directamente en firebird...

le comento "creo" que la conexion esta bien ya que en ese punto no me saca ningun error (creo, no tengo donde identificar si el problema es allí), pienso lo mismo que decia hace un rato tabuco el problema esta al momento de mostrar los datos..... que es lo unico que me muestra la pagina ya les muestro exactamente...

el codigo copiado y modificado es el siguiente

______________________________________________________________________________
<!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:\\escuelas.fdb", "ESCUELAS", "ESCUELAS");
    if (!$conn)
    { echo "Acceso Denegado!";
    exit; }

    $query="select GRADO from ORDENGRADO order by COD_GRADO;";
    $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->grado"; ?></td>
    </tr>
    </table>
    <? } ?>
    <p>&nbsp;</p>
    </body>
    </html>
_____________________________________________________________________________________

y el resultado es:[table]
[tr]
[td]GRADO"; ?>[/td]
[/tr]
[/table]

espero ahora si me comprenda que estoy haciendo, es todo lo que he hecho hasta el momento nada mas...

muchisimas gracias..


  • 0

#26 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 09 febrero 2010 - 12:44

Bueno, dos cosas:

1) el Nombre de la BD debe estar en mayúscula.
2) Prueba quitando las comillas dobles en el echo así: <? echo $row->GRADO; ?>.

Saludos.
  • 0

#27 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 09 febrero 2010 - 01:02

al modificar el codigo me quedo así, pero tampoco me funciona el resultado es    GRADO; ?>
__________________________________________________________________________________________
<!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:\\ESCUELAS.FDB", "ESCUELAS", "ESCUELAS");
    if (!$conn)
    { echo "Acceso Denegado!";
    exit; }

    $query="select GRADO from ORDENGRADO order by COD_GRADO;";
    $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->GRADO; ?></td>
    </tr>
    </table>
    <? } ?>
    <p>&nbsp;</p>
    </body>
    </html>
__________________________________________________________________________________________

que podra ser,
no se si quien se rinde primero si ustedes o yo, de todas maneras les agradezco...

tienen alguna otra sugerencia, pienso que es la manera como se muestra el resultado porque si fuera de conexcion a la bd me sacaria el mensaje 'Acceso Denegado'. estoy pendiente y a la espectativa de su experiencia... gracias de nuevo


  • 0

#28 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 09 febrero 2010 - 03:10

alguna otra solucion que pueda ayudarme a solucionar este problema ?
  • 0

#29 tacubo

tacubo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 130 mensajes

Escrito 09 febrero 2010 - 03:27

hola JAI_ME perdon es que mi a mis sagrados alimentos y antes que la chamba esta el comer con el estomago vacio ya no carbura uno y pues asi no fluye la sabiduria  :cool:

pasando a lo tuyo lo vamos hacer por las piedritas paso uno
1.-prueba primero la parte de la conexion y borra lo demas
en este caso cuando pruebes tebe de salir la pagina en blanco puesto que no estas mostrando nada

paso numero 2
inserta la consulta pura es decir solo inserta la parte del
select campo1 from tabla nada mas
y en seguida pues el while pero solo pon el eco no pongas la tabla solo imprime el resultado
es decir

echo campo."<br>";

y con eso vemos que onda nos deberias de decir que error sale a
y si sale algo cuando quieras meter el resultado dentro de la tabla
pues yo te recomiendo algo asi

<table width="200" border="1">
    while ($row = ibase_fetch_object ($result)) { ?>
    <tr>
    <td><? echo "$row->grado"; ?></td>
    </tr>
    <? } ?>
</table>  nada mas para ver bien que onda no pongas mas
avisanos estamos al pendiente de tu caso
  • 0

#30 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 09 febrero 2010 - 03:39

Prueba con esta versión, debes cambiar los valores y consulta:



php
  1. <?php
  2.  
  3. echo &#39;<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
  4.     <html>
  5.     <head>
  6.     <title>Untitled Document</title>
  7.     <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
  8.     </head>
  9.  
  10.     <body>&#39;;
  11.  
  12.     $conn=ibase_connect("localhost:C:\\AppServ\\www\\fdb\\MUSICA.FDB", "SYSDBA", "masterkey");
  13.     if (!$conn)
  14.     { echo "Acceso Denegado!";
  15.     exit; }
  16.  
  17.     $query="select ARTISTA from ARTISTAS;";
  18.     $result=ibase_query($conn,$query);
  19.     if (!$result) {
  20.     echo "no se puede mostrar datos desde la consulta: $query!";
  21.     exit;
  22.     }
  23.  
  24.     $row=ibase_fetch_object($result);
  25.  
  26.     while ($row = ibase_fetch_object ($result)) {
  27.  
  28.     echo &#39;<table width="200" border="1">
  29.     <tr>
  30.     <td>&#39;,$row->ARTISTA,&#39;</td>
  31.     </tr>
  32.     </table>&#39;;
  33. }
  34.     echo &#39;<p>&nbsp;</p>
  35.     </body>
  36.     </html>&#39;;
  37.  
  38. ?>


  • 0

#31 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 11 febrero 2010 - 12:06

Buenas tardes perdonenme por perderme, nu tuve internet en este tiempo pero ya regrese y probe lo que me digeron, la propuesta de enecumene no me funciono...

la de tabuco tambien lo hice y el codigo me quedo así:



php
  1. <html>
  2.     <head>
  3.     <title>Untitled Document</title>
  4.     <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
  5.     </head>
  6.  
  7.     <body>
  8.  
  9.     <?php
  10.     $conn=ibase_connect("localhost:C:\\ESCUELAS.FDB", "ESCUELAS", "ESCUELAS");
  11.     if (!$conn)
  12.     { echo "Acceso Denegado!";
  13.     exit; }
  14.  
  15.     $query="select GRADO from ORDENGRADO order by COD_GRADO;";
  16.    
  17. while ($row = ibase_fetch_object ($result)) { ?>
  18.    
  19.     <? echo $row->GRADO; ?>
  20.  
  21.     <? }
  22.  
  23.  
  24. ?>
  25.  
  26.     </body>
  27. </html>




Pero me sale "GRADO; ?>", que prodra ser..... es el mismo resultado,  si quiere los invito que se conecten de forma remota a mi equipo. ustedes me diran, o si tienen mas sugerencias y yo sigo intentando.


Editado por egostar: Colocando la etiqueta de PHP para que se vea mejor el código.

  • 0

#32 tacubo

tacubo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 130 mensajes

Escrito 11 febrero 2010 - 12:09

pero prueba primero sin el order by amigo a lo mejor hay algo y los nombres de la tabla esta bien todo en mayusculas y los campos igual saludos

  • 0

#33 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 11 febrero 2010 - 12:23

hubise querido que fuera asi, pero lamentablemente me sigue sacando el mismo resultado. que opinan de la conexion remota por logmein.

gracias
  • 0

#34 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 11 febrero 2010 - 01:57

amigos no tienen mas sujerencias...., es posible que me envien un ejemplo.

de ante mano muchas gracias .
  • 0

#35 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.248 mensajes
  • LocationArgentina

Escrito 11 febrero 2010 - 03:45

Hola, yo de PHP no tengo mucho conocimiento, pero de lo que veo es que en el último script que nos muestras se ve que no realizas la consulta, armas el string de dicha consulta pero no la ejecutas. Se te olvidó el

$result = ibase_query($conn, $query);
....

Es posible que el error esté en un cierre y/o apertura mal hecho. A simple vista no me cuadran los <? con >... revisa eso. Quizá tenga algo que ver.

Saludos,
  • 0

#36 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 11 febrero 2010 - 08:20

Efectivamente como dice Delphius te faltó ejecutar la consulta (vaya D y dices que no sabes), agregalo y nos cuentas. ¡Suerte!.

Saludos.
  • 0

#37 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 12 febrero 2010 - 08:16

ok gracias, voy a probarlo y ya les cuento.
  • 0

#38 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 12 febrero 2010 - 09:14

Señores, muchas gracias por su ayuda el codigo quedo de esta manera pero no me funciono
____________________________________________________________________________________________
    <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:\\ESCUELAS.FDB", "ESCUELAS", "ESCUELAS");
    if (!$conn)
    { echo "Acceso Denegado!";
    exit; }

    $query="select GRADO from ORDENGRADO;";
    $result = ibase_query($conn, $query);

while ($row = ibase_fetch_object ($result)) { ?>
   
    <? echo $row->GRADO; ?>
    <? }

?>
    </body>
    </html>
__________________________________________________________________________________________

es asi de complicado la conexcion de php con firebird, por favor ayudenme a superar este impace.
  • 0

#39 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.404 mensajes
  • LocationRepública Dominicana

Escrito 12 febrero 2010 - 09:19

Bueno, a ver, un último intento:



php
  1. <html>
  2.     <head>
  3.     <title>Untitled Document</title>
  4.     <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1?>
  5.     </head>
  6.  
  7.     <body>
  8.  
  9.     <?php
  10.     $conn=ibase_connect("localhost:C:\\ESCUELAS.FDB", "ESCUELAS", "ESCUELAS");
  11.     if (!$conn)
  12.     { echo "Acceso Denegado!";
  13.     exit; }
  14.  
  15.     $query="select GRADO from ORDENGRADO;";
  16.     $result = ibase_query($query);
  17.  
  18.   while ($row = ibase_fetch_object ($result)) {
  19.  
  20.     echo $row->GRADO;
  21.     }
  22.      
  23.   ?>
  24.     </body>
  25.     </html>



Intentalo así. ¡Suerte!
  • 0

#40 JAI_ME

JAI_ME

    Member

  • Miembros
  • PipPip
  • 21 mensajes

Escrito 12 febrero 2010 - 09:47

gracias enecumene ojala sea este.... muchas gracias, ya les comento
  • 0