provides <b>pdo\_</b> lookalike wrapper functions to more easily replace their <s>mysql_</s> counterparts.

<h3> Tutorial </h3>

See [Q: Why shouldn't I use mysql_* functions in PHP? - A: Easy of Use / Ain't nobody got time for for a nice summary.

<h3> Rewriting <s>mysql_</s> code </h3>

Transitioning off the dated and cumbersome mysql_ functions can be easy.

  *  Include <kbd>`pdo_mysql.php`</kbd> in your code.
  *  And simply replace all `mysql_` prefixes with `pdo_`

You can then also utilize parameterized queries with little effort:

  <img

Which usually leads to more readable code, and implicitly uses PDO behind the scenes.

<h3> Parameterized queries </h3>

Resulting in less fuzz behind the scenes:

  <img

`pdo_mysql.php` defaults to real prepared statements.


<h3> Advantages over plain PDO interface </h3>

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. Thus pdo_affected_rows() works on updates and retrieval queries.


<h3> Behind the scenes </h3>

When utilizing `pdo_connect()` and `pdo_query()` etc. you get an implicit global variable <kbd>$pdo</kbd>. 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.