News Feed
Jobs Feed
Sections




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

Johannes Schluter's Blog:
Escaping from the statement mess
May 19, 2011 @ 09:30:45

In a new post to his blog Johannes Schluter suggests an alternative to using prepared statements in PHP applications using a database - creating a handler method that allows for dynamic queries as well as proper escaping of values.

Now prepared statements were a nice invention some 30 years ago abut they weren't meant for making things secure and so they do have some shortcomings: One issue is that preparing and executing a query adds a round-trip to the server where it then requires resources. [...] With prepared statements you first have to build the list of place holders (the exact amount of place holders (?) separated by a comma, without trailing comma) and then bind the values and mind the offsets when having other values - this typically becomes ugly code.

He includes the code for his alternative, a function using the mysqli extension to let you create dynamic SQL that still uses placeholders and proper escaping to prevent both SQL injection issues and resources problems caused by the multiple hops back to the database.

0 comments voice your opinion now!
prepared statement database alternative mysqli


blog comments powered by Disqus

Similar Posts

Community News: Ottawa Food Bank Improve Distribution Databases via PHP

O\'Reilly: Digg PHP\'s Scalability and Performance

Richard Heyes' Blog: PEAR::DB replacement class updated

Rob Allen: Sending an HTML with text alternative email with Zend\Mail

Zend Developer Zone: Case Study w/ Zend Core for IBM with DB2 9 - 10k Active DB Connections


Community Events











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


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

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework