php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #49730 Firebird - new PDO() returns NULL
Submitted: 2009-10-01 06:22 UTC Modified: 2010-06-21 23:38 UTC
From: marcink86 at interia dot eu Assigned: felipe (profile)
Status: Closed Package: PDO related
PHP Version: 5.2 only OS: *
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: marcink86 at interia dot eu
New email:
PHP Version: OS:

 

 [2009-10-01 06:22 UTC] marcink86 at interia dot eu
Description:
------------
I created a file test.php:

<?php
  $pdo = new PDO("firebird:host=localhost;dbname=TESTDB", "sysdba", "masterkey");
  var_dump($pdo);
?>

Note that there exists an alias TESTDB to *FDB file in Firebird configuration.

When I 'run' this file in a web browser i get:
object(PDO)#1 (0) { } 
which I think is correct since after var_dump($pdo) I can retrieve records from this database without any problem.

However, in command line ("php test.php" in cmd) var_dump($pdo) returns NULL. Is it correct?
It causes many problems espacially in a Symfony framework (>=1.2) where you build sql files and execute them through command line.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-10-01 11:03 UTC] sjoerd@php.net
See also Bug #49320 PDO returns null when SQLite connection fails
 [2009-10-01 11:10 UTC] marcink86 at interia dot eu
Note that in my case DSN is correct and NULL should not be returned in CLI.
 [2009-10-02 20:01 UTC] marcink86 at interia dot eu
Anyone to comfirm? Is it going to be fixed?
 [2010-02-04 18:14 UTC] nicolas dot rod at gmail dot com
The DSN in the test.php above is incorrect:

<?php
  $pdo = new PDO("firebird:host=localhost;dbname=TESTDB", "sysdba",
"masterkey");
  var_dump($pdo);
?>

it should be:

<?php
  $pdo = new PDO("firebird:dbname=localhost:TESTDB", "sysdba",
"masterkey");
  var_dump($pdo);
?>
 [2010-02-04 18:20 UTC] nicolas dot rod at gmail dot com
I forgot to mention that sometimes in Windows you have to modify file c:\windows\system32\drivers\etc\services.
You need to add the following line in order to connect to the GDS services:

gds        3050/tcp            #Firebird Database port number

And that's it.
It took me 2 hours to read the error message and realize what the problem was.
 [2010-06-21 23:33 UTC] felipe@php.net
-Operating System: Windows Vista +Operating System: * -PHP Version: 5.2.11 +PHP Version: 5.2 only
 [2010-06-21 23:33 UTC] felipe@php.net
I can reproduce it. 5_2 only.
 [2010-06-21 23:38 UTC] felipe@php.net
Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&amp;revision=300637
Log: - Fixed bug #49730 (Firebird - new PDO() returns NULL)
 [2010-06-21 23:38 UTC] felipe@php.net
-Summary: Firebird - new PDO() returns NULL in CLI +Summary: Firebird - new PDO() returns NULL -Status: Open +Status: Closed -Assigned To: +Assigned To: felipe
 [2010-06-21 23:38 UTC] felipe@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Nov 23 10:01:28 2024 UTC