News Feed
Jobs 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

Eirik Hoem's Blog: Book review: Expert PHP5 Tools

Kae Verens' Blog: multiple file uploads using HTML5

Arnold Daniels' Blog: Migrating from PHP4 to PHP5: A strategy for hosts

Community News: PHP 5.2.10RC1 Released Composing Methods: Introduce Explaining Variable

Community Events

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

opinion application series framework facebook hhvm release composer language hack podcast install security database symfony2 package unittest introduction component performance

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