News Feed

News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Paul Jones' Blog:
New PDO Behavior In PHP 5.2.1
February 28, 2007 @ 08:29:00 PHP News, Views, and Community In a new post Paul Jones points out some of the new behaviors that the extension is showing in the latest of the PHP 5 seres (version 5.2).

He starts with a code example that would work with a previous version of PHP/PDO that would allow for the binding of a single value to multiple places in the SQL statement. But:

Sadly, this is no longer the case in PHP 5.2.1. For valid reasons of security and stability in memory handling, as noted to me by Wez Furlong, the above behavior is no longer supported. That is, you cannot bind a single parameter or value to multiple identical placeholders in a statement. If you try it, PDO will throw an exception or raise an error, and will not execute the query. In short, you now need to match exactly the number of bound parameters or values with the number of placeholders.

Unfortunately, this is used quite often in Paul's Solar framework, so an update to the Solar_Sql_Adapter::query() method has had to been made to allow for the binding of multiple items automatically. It works by incrementing the bind location (like ":foo") with numbers at the end - simple and effective - and you can still pass an array to it and have it automagically work.

1 comment voice your opinion now!
pdo php5 behavior bind variable multiple array placeholder increment pdo php5 behavior bind variable multiple array placeholder increment

blog comments powered by Disqus

Similar Posts

Wez Furlong\'s Blog: I\'ve arrived at Forum PHP PHP 4 on death row

PHPEverywhere: PHP Compilers PHP 5.2 Released

Alex Netkachov's Blog: 6 PHP coding tips to write less code

Community Events

Don't see your event here?
Let us know!

example list yii2 laravel php7 community opinion project api framework part2 series symfony composer interview testing podcast language application introduction

All content copyright, 2015 :: - Powered by the Solar PHP Framework