From php 7.1 i am using PDO like this:
$host = 'firebird:dbname=x.x.x.x:C:\baza.eu3';
$password = 'xxx';
$username = 'SYSDBA';
$firebird = new \PDO($host, $username, $password, [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION]);
PDO_FIREBIRD is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to Firebird database.
Use --with-pdo-firebird[=DIR] to install
the PDO Firebird extension, where the optional [=DIR]
is the Firebird base install directory.
$ ./configure --with-pdo-firebird
The constants below are defined by
this driver, and will only be available when the extension has been either
compiled into PHP or dynamically loaded at runtime. In addition, these
driver-specific constants should only be used if you are using this driver.
Using driver-specific attributes with another driver may result in
unexpected behaviour. PDO::getAttribute() may be used to
obtain the PDO::ATTR_DRIVER_NAME
attribute to check the
driver, if your code can run against multiple drivers.
PDO::FB_ATTR_DATE_FORMAT
(int)
Sets the date format.
PDO::FB_ATTR_TIME_FORMAT
(int)
Sets the time format.
PDO::FB_ATTR_TIMESTAMP_FORMAT
(int)
Sets the timestamp format.
From php 7.1 i am using PDO like this:
$host = 'firebird:dbname=x.x.x.x:C:\baza.eu3';
$password = 'xxx';
$username = 'SYSDBA';
$firebird = new \PDO($host, $username, $password, [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION]);
You need to set:
setAttribute(PDO::FB_ATTR_TIMESTAMP_FORMAT, '%s')
for timestamp values
After two days of trouble with no visibile issues, when rebooting the system two popups come up:
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php.5.3.13/ext/php_interbase.dll' - %1 non è un'applicazione di Win32 valida.
PHP Startup: Unable to load dynamic library
'c:/wamp/bin/php/php.5.3.13/ext/php_pdo_firebird.dll' - %1 non è un'applicazione di Win32 valida.
I've just re-installed wampserver (http://www.wampserver.com/en/) and all seems run well.
To see if your Firebird PDO driver runs well:
<?php
foreach(PDO::getAvailableDrivers() as $driver) {
echo $driver.'<br />';
}?>
The connection string for a firebird PDO connection is different than described above. It is something like:
$DB = new PDO("firebird:dbname=T:\\Klimreg.GDB", "SYSDBA", "masterkey");
after dbname= the default connection string for Interbase and Firebird databases is used as presented to either gds32.dll or fbclient.dll.