Bug #68393 [Com]: PDO Does Not Produce Exception For 'sqlite:' With Missing Filepath
Edit report at https://bugs.php.net/bug.php?id=68393&edit=1
ID: 68393
Comment by: kyra at existing dot me
Reported by: kyra at existing dot me
Summary: PDO Does Not Produce Exception For 'sqlite:' With
Missing Filepath
Status: Open
Type: Bug
Package: PDO SQLite
Operating System: Linux
PHP Version: 5.6.2
Block user comment: N
Private report: N
New Comment:
Is this temp database being created in /tmp or in the current directory?
Also, isn't this basically the same thing as using :memory to create a temp db, but on disk? I
would have thought there would be a :disk option instead of assuming the user wanted to create a
temp db on disk, and had not made a coding error.
Is there, or should there be a note about this behavior in the PHP docs? I know I was stumped by my
try/catch not working as expected to warn me.
Previous Comments:
------------------------------------------------------------------------
[2014-11-10 22:38:01] salathe@php.net
From SQLite's point of view, this looks to be okay.
Here's a snippet from the SQLite docs[1], in the "Opening
A New Database Connection" section[2]:
If the filename is an empty string, then a private,
temporary on-disk database will be created. This
private database will be automatically deleted as
soon as the database connection is closed.
[1] http://www.sqlite.org/c3ref/intro.html
[2] http://www.sqlite.org/c3ref/open.html
------------------------------------------------------------------------
[2014-11-10 21:59:09] kyra at existing dot me
Description:
------------
I was passing the SQLite filepath portion of the DSN as a variable and happened to pass an empty
string, but PDO did not raise an Exception, and gave no indication the connection had failed.
If you check out http://3v4l.org/o1k3M you can see at some point
after PHP 5.2.14 that this behavior began.
Test script:
---------------
$db = new PDO('sqlite:');
Expected result:
----------------
Fatal error: Uncaught exception 'PDOException' with message...
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=68393&edit=1
Thread (3 messages)