Book Image

Learning PHP Data Objects

By : Dennis Popel
Book Image

Learning PHP Data Objects

By: Dennis Popel

Overview of this book

PDO is lighter, faster, and more powerful than existing PHP data abstraction interfaces. PDO is a common interface to different databases that must be used with a database-specific PDO driver to access a particular database server: the PDO extension does not provide a database abstraction by itself; it doesn't rewrite SQL, emulate missing database features, or perform any database functions using by itself. It performs the same role as other classic database abstraction layers such as ODBC and JDBC: it's a query abstraction layer that abstracts the mechanism for accessing a database and manipulating the returned records; each database driver that implements the PDO interface can also expose database-specific features as regular extension functions. ¬ PDO ships with PHP 5.1, and is available as an extension for PHP 5.0; it requires the new object-oriented features of PHP 5, and cannot run with earlier versions of PHP.This book will teach you how to use the PDO, including its advanced features. Readers need to be aware of the basics of data abstraction and should be familiar with PHP.
Table of Contents (13 chapters)

Setting and Getting Connection Attributes


We have briefly covered setting connection attributes in Chapter 3 when we saw how to use exceptions as a means of error reporting. Connection attributes allow us to control certain aspects of the connection as well as to query such things as the driver name and version.

  • One way is to specify an array of attribute name/value pairs in the PDO constructor.

  • Another way is to call the PDO::setAttribute() method, which accepts two parameters:

    • The attribute's name

    • The attribute's value

In PDO, attributes and their values are defined as constants in the PDO class as in the following call in the common.inc.php file:

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

It includes two such constants—PDO::ATTR_ERRMODE and PDO::ERRMODE_EXCEPTION.

To get the value of an attribute, there is the PDO::getAttribute() method. It accepts a single parameter, the attribute name, and returns the value of the attribute. For example, the following code would print...