Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Conectar Firebird a PHP

Hola amigos. Aprendiendo PHP (por necesidad)

Trabajo con Win10, Firebird 2.0, PHP 7, Apache NetBeans IDE 12.

Tengo este código que es una pantalla de Login:
Código:
<? include ("FBConexion.php")?>
<!DOCTYPE HTML>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
       <style>
        table
        {
            border: 2px solid #353A46;
            background-color: #CCD1D1;
        }
        input[type=text], input[type=password]
        {
            width: 100%;
            padding: 8px 20px;
            border: 2px solid #CCC;
            box-sizing: border-box;           
        }
        
        img{
            width: 100px;
            height: 100px;           
        }        
        
        label{
            font-size: 14px;
            font-weight: bold;
            font-family: arial;            
        }
        
        input[type=submit]{
            background-color: #ccc;
            color: black;
            padding: 4px 10px;
            margin: 8px 0px;
            border: 2px solid;
            cursor: pointer;
            width: 40%;                
        }
    </style>
    <head>
        <meta charset="UTF-8">
        <title>Conexión al SisDLL 2.0</title>
    </head>
    <body>
    <center>  
        <h2>"SISTEMA DE DISTRIBUCION"</h2>
        <h2>SisDLL 2.0</h2>
        <h2><p>Bienvenidos</p></h2>
        <hr width=50%>
        <form method="post" action="FBConexion.php">
            <table>
                <tr>
                    <td colspan="2" 
                        style="background-color:#34495E; 
                        padding-bottom: 5px; 
                        padding-top: 5px;">
                        <center>
                            <p style="color:whitesmoke;">
                                <label>LOGIN</label>
                            </p>
                        </center>
                    </td>
                </tr>
                <tr>
                    <td 
                        align="center" rowspan="5">
                        <img src="candado2.png"/>
                    </td>
                    <td>
                        <label>Usuario:</label>
                    </td>
                </tr>
                <tr>
                    <td>
                       <input type="text" name="txtusuario"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        <label>Contraseña:</label>
                    </td>
                </tr>                    
                <tr>
                    <td>
                        <input type ="password" name="txtpassword" />
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" value="Ingresar"/>
                    </td>
                </tr>  
            </table>                           
        </form>
    </center>
    </body>
</html>
Desde aqui estoy tratando de conectar a una BD de Firebird, con el siguiente código q esta en otro archivo "FBconexion.php":
Código:
<?
   $dbHost="127.0.0.1";
   $bbdd = ":c:\\Sis\\BD\\DB_DATOS.FDB";
   $charset="utf8";
   $dbUser="SYSDBA";//$_POST["txtusuario"];
   $dbPass="masterkey";//$_POST["txtpassword"]; ;
   
   $con = ibase_connect($dbHost.$bbdd,$dbUser, $dbPass,NULL,0,NULL,NULL);
   if (!$con){
      //echo "Acceso denegado!";
       die("Las credenciales ingresadas no corresponden");
      exit;
   }  
?>
Pero al hacer click en el botón
Código:
<form method="post" action="FBConexion.php">
que tengo asignado para eso me sale el siguiente mensaje:

Cita:
Esta página no funcionalocalhost no ha enviado ningún dato.
ERR_EMPTY_RESPONSE
Les comento que ya modifique el php.ini y descomenté "extension = pdo_firebird";
Agregue a las variables de entorno del sistema "c:\xampp\php\ext"

Q mas hará falta que no logro conectar??

Espero me puedan ayudar. Saludos y gracias.

PD. Cuando quiero levantar el servidor apache, no se puede, consulté el LOG y dice esto:
Cita:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_firebird' (tried: C:\\xampp\\php\\ext\\pdo_firebird (No se puede encontrar el m\xc3\xb3dulo especificado.), C:\\xampp\\php\\ext\\php_pdo_firebird.dll (%1 no es una aplicaci\xc3\xb3n Win32 v\xc3\xa1lida.)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'php_pdo_firebird.dll' (tried: C:\\xampp\\php\\ext\\php_pdo_firebird.dll (%1 no es una aplicaci\xc3\xb3n Win32 v\xc3\xa1lida.), C:\\xampp\\php\\ext\\php_php_pdo_firebird.dll.dll (No se puede encontrar el m\xc3\xb3dulo especificado.)) in Unknown on line 0
PHP Fatal error: Directive 'magic_quotes_sybase' is no longer available in PHP in Unknown on line 0
[Wed Jul 22 23:30:31.357141 2020] [:emerg] [pid 5872:tid 644] AH00020: Configuration Failed, exiting
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 23-07-2020 a las 07:34:57.
Responder Con Cita
  #2  
Antiguo 23-07-2020
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

No estoy seguro de que sea la solución al problema, pero, me llama la atención que la extensión de PHP que "descomentas" es "pdo_firebird", y, tú tratas de usar la función "ibase_connect", pero, no propiamente PHP PDO. Aunque no fuese este el problema, tal vez te gustaría investigar sobre PHP PDO.

Mientras escribo esto veo que además hay un error al inicio de Apache, lo que seguro es un problema: tampoco estoy seguro, pero, el error menciona a "magic_quotes_sybase", que, debe estar en el archivo PHP.ini: pues bien, yo comentaría "esa línea", para empezar, y, trataría de ver si se arregla el problema al inicio de Apache.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola a todos,

No estoy seguro de que sea la solución al problema, pero, me llama la atención que la extensión de PHP que "descomentas" es "pdo_firebird", y, tú tratas de usar la función "ibase_connect", pero, no propiamente PHP PDO. Aunque no fuese este el problema, tal vez te gustaría investigar sobre PHP PDO.

Mientras escribo esto veo que además hay un error al inicio de Apache, lo que seguro es un problema: tampoco estoy seguro, pero, el error menciona a "magic_quotes_sybase", que, debe estar en el archivo PHP.ini: pues bien, yo comentaría "esa línea", para empezar, y, trataría de ver si se arregla el problema al inicio de Apache.
Ok....gracias DEC. Lo revisaré.

Fijate que dice hay q instalar algo

Cita:
Instalación ¶
Use --with-pdo-firebird[=DIR] para instalar la extensión PDO Firebird, donde [=DIR] es el directorio base de intalación de Firebird.

$ ./configure --with-pdo-firebird
Pero creo q esto se debe hacer en Linux.

Ya vi ...como es para Windwos
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 23-07-2020 a las 18:22:33.
Responder Con Cita
  #4  
Antiguo 23-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Ayuda con la conexion

Alguien q me ayude....

Ya consulté este video:

https://trshow.info/watch/AgZWkG_gbn...exIon-php.html

Pero no conecta...
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #5  
Antiguo 23-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que no está claro el problema que tienes.

Primero debes describir exactamente lo que necesitas, no lo que estás haciendo.
Responder Con Cita
  #6  
Antiguo 23-07-2020
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Cita:
Empezado por mRoman Ver Mensaje
Alguien q me ayude....

Ya consulté este video:

https://trshow.info/watch/AgZWkG_gbn...exIon-php.html

Pero no conecta...
¿Qué error obtienes ahora mismo?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 23-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que no está claro el problema que tienes.

Primero debes describir exactamente lo que necesitas, no lo que estás haciendo.
Si tienes razón Casimiro. Arriba lo comenté.

Quiero conectarme a Firebird desde PHP, estoy consultando el link que pasó DEC.

DEC el error es el siguiente:
Cita:
La conexión se reinició

La conexión al servidor se reinició mientras se cargaba la página.

El sitio podría estar temporalmente fuera de servicio o muy ocupado. Intenta nuevamente en un momento.
Si no puedes cargar ninguna página, verifica la conexión de red de tu computadora.
Si la red o tu computadora están protegidas por un firewall o proxy, asegúrate que Firefox pueda acceder a internet.
Me aparece después de que doy click sobre el botón "Ingresar"...

Estoy revisando la documentación de PDO...pero no entiendo muy bien porque no conecta...

Gracias.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #8  
Antiguo 23-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mRoman Ver Mensaje
Quiero conectarme a Firebird desde PHP, estoy consultando el link que pasó DEC.
Es que eso no es una descripción exacta de lo que necesitas.
Hay muchas opciones, por ejemplo:
  • El servidor es el mismo equipo local.
  • El sevidor está en la misma red.
  • El servidor es un hosting por internet.
  • El servidor usa windows.
  • El servidor usa linux.
  • Etc.
Responder Con Cita
  #9  
Antiguo 24-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que eso no es una descripción exacta de lo que necesitas.
Hay muchas opciones, por ejemplo:
  • El servidor es el mismo equipo local.
  • El sevidor está en la misma red.
  • El servidor es un hosting por internet.
  • El servidor usa windows.
  • El servidor usa linux.
  • Etc.
Si el servidor es el mismo equipo local(127.0.0.1)....pensé que estaba sobre entendido la forma de accesar, ya que lo puse en el código:
Código:
<?
   $dbHost="127.0.0.1";
   $bbdd = ":c:\\Sis\\BD\\DB_DATOS.FDB";
   $charset="utf8";
   $dbUser="SYSDBA";//$_POST["txtusuario"];
   $dbPass="masterkey";//$_POST["txtpassword"]; ;
   
   $con = ibase_connect($dbHost.$bbdd,$dbUser, $dbPass,NULL,0,NULL,NULL);
   if (!$con){
      //echo "Acceso denegado!";
       die("Las credenciales ingresadas no corresponden");
      exit;
   }  
?>
Cita:
El servidor usa windows.
Si, es un Windows.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #10  
Antiguo 24-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, eso lo había visto, por eso preguntaba, si después de hacerlo funcionar lo vas a subir a un hosting o se iba a quedar ahí en ese servidor local.
De todas formas falta información, exactamente qué estás probando, qué problema surge, qué resultado, ...
Responder Con Cita
  #11  
Antiguo 24-07-2020
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sí, eso lo había visto, por eso preguntaba, si después de hacerlo funcionar lo vas a subir a un hosting o se iba a quedar ahí en ese servidor local.
De todas formas falta información, exactamente qué estás probando, qué problema surge, qué resultado, ...
Estoy probando como se conecta PHP a Firebird, ahorita estoy probando de otra forma:
Código:
<?php

# Conectamos a la base de datos
$host='localhost:';
$dbname='c:/SisDLL20/BD/DB_SIDIST.FDB';
$user='SYSDBA';
$pass='masterkey';

try {
  $pdo = new \PDO("firebird:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
  $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(PDOException $e) {
    echo "Se ha producido un error al intentar conectar al servidor FIREBIRD: ".$e->getMessage();
}
 
try {
  # Otro Ejemplo de error ! DELECT en lugar de SELECT!
  $pdo->exec('DELECT lecher,nombrelech FROM lecheria');
}
catch(PDOException $e) {
    echo "Se ha producido un error en la ejecucion de la consulta: ".$e->getMessage();
 
    # En este caso hemos mostrado el mensaje de error y además almacenamos en un fichero los errores generados.
    file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}


?>
Pero me manda el siguiente mensaje de error:
Código:
Se ha producido un error al intentar conectar al servidor FIREBIRD: could not find driver
Notice: Undefined variable: pdo in C:\xampp\htdocs\Firebird\newEmptyPHP.php on line 19

Fatal error: Uncaught Error: Call to a member function exec() on null in C:\xampp\htdocs\Firebird\newEmptyPHP.php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Firebird\newEmptyPHP.php on line 19
Cuando menos se ejecuta una linea del código:
Código:
Se ha producido un error al intentar conectar al servidor FIREBIRD: could not find driver
Lineas q se ejecutan del código:
Código:
try {
  $pdo = new \PDO("firebird:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
  $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch(PDOException $e) {
    echo "Se ha producido un error al intentar conectar al servidor FIREBIRD: ".$e->getMessage();
}
Ya copié el fbclient.dll a System32 y SysWOW64 asi como en el directorio donde está el archivo con el código q estoy probando.

Ya cuando menos....hay un camino por donde irme...solo a que driver se referirá? fbclient.dll o php_pdo_firebird.dll (si esta en ..php\ext\)..

Sigo buscando...
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!

Última edición por mRoman fecha: 24-07-2020 a las 20:59:09.
Responder Con Cita
  #12  
Antiguo 24-07-2020
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

¿Igual lo de usar PDO no ha sido una buena idea? Es decir, es una buena idea, pero, pareciera que hace falta instalar la propia extensión PDO... o que la "php_pdo_firebird" no se carga correctamente... creo que podrías probar (aunque en el futuro te plantearas usar PDO) a conectar usando "ibase_connect"... ¡a ver si te da también algún error al menos!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #13  
Antiguo 09-08-2020
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
El método es execute

Código PHP:
$pdo->execute('DELECT lecher,nombrelech FROM lecheria'); 
no

Código PHP:
$pdo->exec('DELECT lecher,nombrelech FROM lecheria'); 


Código PHP:
$respuesta $firebird->prepare("select * from clientes");
//Ejecutamos la consulta
 
$respuesta->execute();
    
    while (
$row $respuesta->fetch()){
        echo 
"Nombre: {$row["NOMBRE"]} --  ";
        echo 
"Valor: {$row["APELLIDOPAT"]} <br><br>";
    } 
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar firebird 3.0 y ado.net ronimaxh Conexión con bases de datos 7 26-09-2017 20:50:49
conectar firebird a PHP NelsonJG PHP 6 12-03-2013 21:21:47
conectar firebird-bde Galahad Firebird e Interbase 1 07-04-2009 00:30:53
Conectar 2 BD con FireBird itsi Conexión con bases de datos 3 24-02-2009 14:00:33
conectar Firebird y DBE miguel_e Firebird e Interbase 4 16-06-2008 18:38:39


La franja horaria es GMT +2. Ahora son las 16:34:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi