Hallo zusammen!
Ich möchte über PHP auf eine Firebird/Interbase Datenbank zugreifen.
Dafür habe ich einen Firebird Version 1.5 Server laufen (Port 23050) parallel läuft ein Firebird 2.5 (Port 23053) auf meinem localhost.
gds32.dll und fbclient.dll sind vorhanden. Ein Datenbankzugriff über z.B. IBAdmin oder IBStudio funktioniert.
Die Datenbankdatei (erstellt für Firebird 1.5) liegt in C:\xampp\db\FEG.gdb
Die PHP.ini habe ich so konfiguriert:
Anschließend habe ich mit folgendem PHP-Code versucht eine Verbindung zu meiner Datenbank aufzubauen:
Die Web-Seite bringt daraufhin folgende Fehlermeldungen:
Die 2te bis Xte Meldung ist auf die Fehlende Verbindung zurückzuführen, denn er scheint gar keine Verbindung aufmachen zu können.
Alterntive schreibweisen für den Host habe ich auch schon Probiert:
Leider alles ohne erfolg. Ich hoffe ihr könnt mir weiterhelfen
Danke!
Jazzman
Ich möchte über PHP auf eine Firebird/Interbase Datenbank zugreifen.
Dafür habe ich einen Firebird Version 1.5 Server laufen (Port 23050) parallel läuft ein Firebird 2.5 (Port 23053) auf meinem localhost.
gds32.dll und fbclient.dll sind vorhanden. Ein Datenbankzugriff über z.B. IBAdmin oder IBStudio funktioniert.
Die Datenbankdatei (erstellt für Firebird 1.5) liegt in C:\xampp\db\FEG.gdb
Die PHP.ini habe ich so konfiguriert:
Code:
extension=php_interbase.dll [Interbase] ; Allow or prevent persistent links. ibase.allow_persistent = 1 ; Maximum number of persistent links. -1 means no limit. ibase.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ibase.max_links = -1 ; Default database name for ibase_connect(). ;ibase.default_db = ; Default username for ibase_connect(). ;ibase.default_user = ; Default password for ibase_connect(). ;ibase.default_password = ; Default charset for ibase_connect(). ;ibase.default_charset = ; Default timestamp format. ibase.timestampformat = "%Y-%m-%d %H:%M:%S" ; Default date format. ibase.dateformat = "%Y-%m-%d" ; Default time format. ibase.timeformat = "%H:%M:%S"
PHP-Code:
$host = "localhost/23050:C:\xampp\db\FEG.gdb";
$username = "SYSDBA";
$password = "masterkey";
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM FegUser';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->ID, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
Warning: ibase_connect() [function.ibase-connect]: I/O error for file "@2" Error while trying to open file Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. in C:\xampp\htdocs\Login.php on line 42
Warning: ibase_query() [function.ibase-query]: invalid database handle (no active connection) in C:\xampp\htdocs\Login.php on line 44
Warning: ibase_fetch_object() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 45
Warning: ibase_free_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 48
Warning: ibase_close() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 49
Warning: ibase_query() [function.ibase-query]: invalid database handle (no active connection) in C:\xampp\htdocs\Login.php on line 44
Warning: ibase_fetch_object() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 45
Warning: ibase_free_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 48
Warning: ibase_close() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Login.php on line 49
Alterntive schreibweisen für den Host habe ich auch schon Probiert:
Code:
127.0.0.1 und localhost, Port angeben und Port weglassen, Pfad UNC Pfad ohne Port ..\db\FEG.gdb usw.
Danke!
Jazzman
Kommentar