Database Techniques and PHP (
Page 1 of 4 )
Picking up where we left off last week in our discussion of databases and PHP, we'll talk about connecting, issuing a query, and more. This article is excerpted from chapter eight of the book Programming PHP, Second Edition, written by Kevin Tatroe, Rasmus Lerdorf, and Peter MacIntyre (O'Reilly, 2006; ISBN: 0596006810). Copyright © 2006 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.
Connecting
Once you have a DSN, create a connection to the database using the connect() method. This returns a database object you’ll use for tasks such as issuing queries and quoting parameters:
$db = DB::connect(DSN [, options ]);
The
option
s
value can either be Boolean, indicating whether or not the connection is to be persistent, or an array of options settings. The
options
values are given in Table 8-2.
Table 8-2. Connection options
| Option |
Controls |
|
persistent |
Connection persists between accesses |
|
optimize |
What to optimize for |
|
debug |
Display debugging information |
By default, the connection is not persistent and no debugging information is displayed. Permitted values for
optimize
are
'performance'
and
'portability'
. The default is
'performance'
. Here’s how to enable debugging and optimize for portability:
$db = DB::connect($dsn, array('debug' => 1, 'optimize' => 'portability'));
Error Checking
PEAR DB methods return DB_ERROR if an error occurs. You can check for this with DB::isError():
$db = DB::connect($datasource);
if (DB::isError($db)) {
die($db->getMessage());
}
The
DB::isError()
method returns
true
if an error occurred while working with the database object. If there was an error, the usual behavior is to stop the program and display the error message reported by the
getMessage()
method. You can call
getMessage()
on any PEAR DB object.