Inconsistancy in PDO dsn

php.internals

Kevin Waterson

20 years ago
Not a bug, but inconsistant behavior in PDO when calling $dsn = new PDO("sqlite: dbname.sdb"); The space after the colon _should_ be encoded but if not it fails and needs correctly to read $dsn = new PDO("sqlite:dbname.sdb"); Pierre pointed to a user note in the manual http://www.php.net/manual/en/ref.pdo.php 01-Jan-2006 04:09 Watch out for putting spaces in the DSN mysql:host=localhost;dbname=test works mysql: host = localhost; dbname=test works mysql: host = localhost; dbname = test doesn't work... Here we see the inconsistancy at work. perhaps E_STRICT would be a better way to handle this perhaps some other. Kind regards Kevin
-- "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote."

Wez Furlong

20 years ago
The manual doesn't tell you that you can use spaces, so simply don't do it. --Wez. On 4/27/06, Kevin Waterson <kevin@oceania.net> wrote:

Kevin Waterson

20 years ago
This one time, at band camp, "Wez Furlong" <kingwez@gmail.com> wrote:
> The manual doesn't tell you that you can use spaces, so simply don't do it.
but in this example we have a space and it works mysql: host = localhost; dbname=test Kevin
-- "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote."

Wez Furlong

20 years ago
On 4/27/06, Kevin Waterson <kevin@oceania.net> wrote:
> This one time, at band camp, "Wez Furlong" <kingwez@gmail.com> wrote: > > The manual doesn't tell you that you can use spaces, so simply don't do it. > > but in this example we have a space and it works > mysql: host = localhost; dbname=test
The manual doesn't tell you that you can use spaces. So, *don't do that*. The behaviour may change; relying on undefined behaviour means that you can expect your application to break one day, later rather than sooner. So, one last time: *don't do that*. --Wez.