pdo_mysql.php
pdo_mysql.php provides pdo_ lookalike wrapper functions to more easily replace their mysql_ counterparts.
Tutorial
See Q: Why shouldn't I use mysql_* functions in PHP? - A: Easy of Use / Ain't nobody got time for bindValue() for a nice summary.
Rewriting mysql_ code
Transitioning off the dated and cumbersome mysql_ functions can be easy.
- Include
pdo_mysql.php
in your code. - And simply replace all
mysql_
prefixes withpdo_
You can then also utilize parameterized queries with little effort:
Which usually leads to more readable code, and implicitly uses PDO behind the scenes.
Parameterized queries
Resulting in less fuzz behind the scenes:
pdo_mysql.php
defaults to real prepared statements.
Advantages over plain PDO interface
The instantiation and query functions contain some built-in defaults:
- Enable
ERRMODE_WARNING
per default. - Disable
ATTR_EMULATE_PREPARES
(some calls temporarily re-enable it). MYSQL_ATTR_FOUND_ROWS
is automatically applied for SELECT queries. Thuspdo_affected_rows()
works on updates and retrieval queries.
Behind the scenes
When utilizing pdo_connect()
and pdo_query()
etc. you get an implicit global variable $pdo. This can be shared with more contemporary code, utilizing the actual OO PDO interface.
PDOStatement_Seekable is a result wrapper, which facilitates scrolling among results. Commonly you should just foreach
over the result list. But code previously using mysql_
often seeks forth and back. A small buffer is implemented in PDOStatement_Seekable
for this.