Re: pdo and firebird connection

From: Date: Sun, 13 Mar 2005 16:35:23 +0000
Subject: Re: pdo and firebird connection
References: 1  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-2154@lists.php.net to get a copy of this message
Michael Maier wrote:
Hi, I´ve trying now for hours just to connect with PDO to my firebird DB. I tried it first with a mysql db and had no problems at all. but it doesn´t work with firebird and I don´t know why (haven´t found anything helpful via google as well). I tried to use the manual from here: http://de3.php.net/manual/de/function.pdo-construct.php with the code below, I get always the error message: Fatal error: Call to a member function getAttribute() on a non-object in K:\_workspace\test1\pdo3.php on line 7 a test with the interbase driver works well (see in the code comments). => is the code correct? => where is the error!? => does the PDO firebird driver work? thx a lot for help, Michael <?php $username = 'SYSDBA'; $password = 'xxxxxx'; $dbh = new PDO( 'firebird:User=SYSDBA;Password=xxxxxx;Database=k:\_firebird\examples\EMPLOYEE.FDB;DataSource=localhost;Port=3050', $username, $password ); //$dbh = new PDO( 'firebird:User=SYSDBA;Password=xxxxxx;Database=k:\_firebird\examples\EMPLOYEE.FDB;DataSource=localhost;Port=3050' ); print $dbh->getAttribute(PDO_ATTR_AUTOCOMMIT); // <==Fatal error here! $stmt = $dbh->prepare("Select * from SHOW_LANGS('SRep',4,'Italy')"); $stmt->execute(); $stmt = null; /* // test with ibase driver $dsn = 'localhost:k:\_firebird\examples\employee.fdb'; $dbh = ibase_connect ( $dsn, $username, $password ) or die ("error in db connect"); $stmt="Select * from SHOW_LANGS('SRep',4,'Italy')"; $query = ibase_prepare($stmt); $rs=ibase_execute($query); $row = ibase_fetch_row($rs); echo $row[0]; // free result ibase_free_query($query); //ibase_free_result($rs); // close db ibase_close($dbh); */ ?>
ok, for everybody who is playing with the pdo firebird driver as well: ---------------------- do for example the connection like this (not like the link to the manual from above): <?php $user = "SYSDBA"; $password = "xxx"; $test_base = "localhost:k:\x_test\PDO\TEST.FDB"; $dbh = new PDO("firebird:dbname=$test_base",$user,$password) or die; ?> ---------------------- try catch doesn´t work (no exception is thrown): <?php ... try {
    	$db = new PDO("firebird:dbname=$test_base",$user,$password);
} catch( PDOException $e ) {
    die( $e->getMessage() );
} ?> ---------------------- all the other examples form http://netevil.org/node.php?nid=44&SC=1 have worked. but be careful with the column named "value". better use a different name e.g. "val" or whatever (I´ve had problems here). ---------------------- like Lester said, Ard is busy right now. but he told me he will take some time in the near future to fix the current issues. thx, Michael

« previous php.pecl.dev (#2154) next »