Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Learning PHP Data Objects
Learning PHP Data Objects

Learning PHP Data Objects: A Beginner's Guide to PHP Data Objects, Database Connection Abstraction Library for PHP 5

Arrow left icon
Profile Icon Dennis Popel
Arrow right icon
Can$13.99 Can$44.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2 (10 Ratings)
eBook Aug 2007 188 pages 1st Edition
eBook
Can$13.99 Can$44.99
Paperback
Can$55.99
Subscription
Free Trial
Arrow left icon
Profile Icon Dennis Popel
Arrow right icon
Can$13.99 Can$44.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2 (10 Ratings)
eBook Aug 2007 188 pages 1st Edition
eBook
Can$13.99 Can$44.99
Paperback
Can$55.99
Subscription
Free Trial
eBook
Can$13.99 Can$44.99
Paperback
Can$55.99
Subscription
Free Trial

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Learning PHP Data Objects

Chapter 2. Using PHP Data Objects: First Steps

In the previous chapter, we had a brief overview of what PDO is, how to connect to your favourite database using PDO, how to issue simple queries and how to handle errors. Now that you are convinced that PDO is a good thing and are thinking of using it actively, we will be delving into all the features it has to offer.

In this chapter, we will look more closely at creating connections to a database using PDO and connection strings (data source names), the PDOStatement class, and how to traverse result sets. We will also create a small library management application, which will allow us to manage a collection of books of your home library. The application will be able to list books and authors as well as add and edit them.

We will start by having a look at connection strings, since without them, we will not be able to connect to any database. We will then create a sample database, on which all the examples in this book will be based.

We will depart...

Connection Strings


Connection strings, or data source names (abbreviated DSN) as they are called in the PDO documentation, are PHP strings that carry such information as the name of the database management system and of the database itself, as well as other connection parameters.

Their advantage over using traditional methods of creating database connection is that you don't have to modify your code if you change the database management system. A connection string can be defined in a configuration file and that file gets processed by your application. Should your database (data source) change, you just edit that configuration file and the rest of your code is kept intact.

The connection strings used in PDO differ due to the existence of different database management systems. However, they always have a common prefix, which denotes the underlying database driver. Remember the MySQL, SQLite, and PostgreSQL examples in the Chapter 1. The three connection strings looked like the following:

mysql...

Designing Our Code


Good application architecture is another key factor of an application, besides the correct data model. As the application that we are going to develop in this chapter, is relatively small, this task is not very complicated. First, we will create two pages that will list books and authors. To begin with, we should think about how these pages would look. To make our simple example small and compact, we will present a header on all pages that will contain links to the books list and the authors list. Later we will add two more pages that will allow us to add an author and a book.

Of course, we should create a common include file that will define the common functions such as the header and footer display and the connection to the database. Our example is really small, so we will not be using any template system or even object-oriented syntax. (Indeed, these topics are beyond the scope of this book.) So, to summarize:

  • All common functions (including code to create the PDO connection...

PDO Statements and Result Sets


Our examples made use of two of the main classes in PHP Data Objects: the PDO class, which is used to create a connection and issue queries, and the PDOStatement class, which we use to loop through the result set. We will look at the first of these classes in later chapters. Here, we will examine the PDOStatement class to see what other ways of traversing the result set that it has to offer.

As we already know, instances of the PDOStatement class are returned from the call to PDO::query() method. The main purpose of this class is to provide an interface to the result set. In fact, we have already used its most important method to iterate over the result set. We only looked at one fetch style (or mode of the returned row), but PDO offers several styles. This class can also provide additional information about a result set, such as the number of rows and columns, and fetch the whole result set into a two-dimensional array.

Let's begin by looking at some different...

Retrieving Result Set Metadata


As we have seen in the previous section, the PDOStatement class allows us to retrieve some information about the data contained in the result set. This information is called metadata, and you probably have already used some of it one way or another.

The most important metadata about a result set is, of course, the number of rows it contains. We can use the row count to enhance user experience by, for example, paginating long result sets. Our example library application is still quite small, with only three books so far, but as our database grows, we surely will need some tools to get the total row count for every table displayed and paginate it for easy browsing.

Traditionally, you would use the mysql_num_rows(), sqlite_num_rows() function or the pg_num_rows() function (depending on your database) to get the total number of rows returned by the query. In PDO, the method responsible for retrieving the number of rows is called PDOStatement::rowCount(). However...

Summary


In this chapter, we took our first steps with PDO and even created a small working database-driven, dynamic application that runs on two different databases. Now you should be able to connect to any supporting database, using the rules for constructing a connection string. You should then be able to run queries against it, and to traverse and display the result set.

In the next chapter, we will deal with a very important aspect of any database-driven application—error handling. We will also extend our example application by giving it the ability to add and edit books and authors, thus making it more realistic and useful.

Left arrow icon Right arrow icon

Key benefits

  • An overview of PDO
  • Creating a database and connecting to it
  • Error Handling
  • Advanced features

Description

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.

Who is this book for?

PHP developers who need to use PDO for data abstraction.alt="Learning PHP Data Objects" title="Learning PHP Data Objects

What you will learn

  • This book covers:
  • An overview of the technology
  • Getting started with PDO
  • Error handling, prepared statements, and handling rowsets
  • Advanced features, like getting column metadata and setting connection parameters with examples
  • Chapter 1 gives an overview of PDO along with a few features like single interface for creating a connection, connection strings, uniform statement methods, and use of exceptions and a singe system of error codes.Chapter 2 helps to get you started with PDO, by creating sample database and then by creating a connection object. It also introduces PDOStatement classes.Chapter 3 deals with various error handling processes and their uses.Chapter 4 is about prepared statements. It deals with using prepared statements without binding values, binding a variable and a parameter to a prepared statement, and using LOBs as streams.Chapter 5 talks about handling rowsets. It covers different ways to retrieve multiple rows. Scrollable cursors, and MySQL unbuffered queries and closing the cursor along with multiple queries, and rowsets are also explained.Chapter 6 talks about advanced uses of PDO, and includes setting connection parameters, transactions, and methods of PDO and PDOStatement class.Chapter 7 gives an example where creation of the method part of MVC application is discussed. Appendix explains the object-oriented features like inheritance, encapsulation, polymorphism, and exception handling.

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 30, 2007
Length: 188 pages
Edition : 1st
Language : English
ISBN-13 : 9781847192677
Languages :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Aug 30, 2007
Length: 188 pages
Edition : 1st
Language : English
ISBN-13 : 9781847192677
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just Can$6 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just Can$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total Can$ 187.97
Joomla! 3 Beginner's Guide Second Edition
Can$69.99
Learning PHP Data Objects
Can$55.99
Designing Next Generation Web Projects with CSS3
Can$61.99
Total Can$ 187.97 Stars icon

Table of Contents

7 Chapters
Introduction Chevron down icon Chevron up icon
Using PHP Data Objects: First Steps Chevron down icon Chevron up icon
Error Handling Chevron down icon Chevron up icon
Prepared Statements Chevron down icon Chevron up icon
Handling Rowsets Chevron down icon Chevron up icon
Advanced PDO Usage Chevron down icon Chevron up icon
An Advanced Example Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.2
(10 Ratings)
5 star 50%
4 star 30%
3 star 10%
2 star 10%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




M.Cotten Apr 29, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A me some read with very practical applications. It was great that author cover multiple DBs and their syntax in most examples.
Amazon Verified review Amazon
Fran Jan 27, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Im new in PDO, I felt curiosity for this. The book was enough to start to work with it. step by step I learned and in only one day I finished the whole book. Very handy
Amazon Verified review Amazon
George Russell Jun 22, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Excellent
Amazon Verified review Amazon
Christopher Govender Jan 04, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Really great for any PHP programmer at beginner and intermediate level.
Amazon Verified review Amazon
Chylle's Jan 11, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
My son loves it!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon