PHP and MySQL by Example

Multimedia Set (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $16.12
Usually ships in 1-2 business days
(Save 70%)
Other sellers (Multimedia Set)
  • All (9) from $16.12   
  • New (5) from $30.53   
  • Used (4) from $16.12   

Overview

Quickly master dynamic, database-driven Web development—no experience necessary!

Even if you’re completely new to PHP, MySQL, and Web database development, this book will guide you through every step of building powerful, database-driven, dynamic Web sites. Direct from the world’s top scripting instructor, Ellie Quigley, PHP and MySQL by Example illuminates every concept with tested code examples, screen shots showing program output, and clear, line-by-line explanations.

Classroom-tested in Ellie Quigley’s Silicon Valley training courses and at Marko Gargenta’s Marakana training company in San Francisco, this book takes you from the simplest PHP scripting and SQL querying techniques all the way to dynamic, database driven Web site construction with PHP and MySQL. From simple fill-in forms to program security and debugging, it’s the only PHP/MySQL book you’ll ever need!

This book covers

  • Complete PHP fundamentals, including operators, strings, conditionals, loops, arrays, functions, and more
  • PHP QuickStart for more advanced readers—makes you productive with PHP in the space of just fifteen book pages
  • Essential Web development techniques, from file handling to validating user input with regular expressions
  • Powerful PHP features, including user-defined functions and self-processing PHP Forms
  • Day-to-day MySQL administration
  • A complete SQL tutorial for creating queries, retrieving data, and writing data with MySQL
  • Session management and cookies
  • Object Oriented PHP
  • Best practices for using PHP and MySQL together

Nearly 100,000 professionals and power users have relied on Ellie Quigley’s books to master scripting languages. With PHP and MySQL by Example, you can, too. And once you’ve become an expert, you’ll turn to this book constantly as your go-to source for reliable answers, solutions, and code.

About the CD-ROM

The CD-ROM contains versions of PHP and MySQL for Windows and UNIX/Linux, plus a comprehensive code library for creating your own sites and database-enabled Web applications, including this book’s powerful Art Gallery case study application.

Lab Solutions

Solutions to the end-of-chapter labs are available at www.prenhallprofessional.com/title/0131875086.

Read More Show Less

Product Details

  • ISBN-13: 9780131875081
  • Publisher: Prentice Hall
  • Publication date: 12/6/2006
  • Pages: 878
  • Sales rank: 1,258,882
  • Product dimensions: 7.06 (w) x 9.24 (h) x 1.13 (d)

Meet the Author

Ellie Quigley has taught scripting languages in Silicon Valley for more than twenty years. Her Perl and shell programming classes at the University of Santa Cruz Extension program have become part of Silicon Valley lore. Her best-selling books include UNIX ® Shells by Example, Fourth Edition; Perl by Example, Third Edition; and Javascript by Example, all from Prentice Hall.

Marko Gargenta has worked as an e-commerce consultant and instructor since 1996. He has created the Marakana Ecommerce Seminar Series, consulted with Sun Microsystems Educational Services, and designed and delivered PHP and MySQL courses for OpNet Community Ventures and AcademyX. For more on Marko’s training company go to http://marakana.com.

Read More Show Less

Read an Excerpt

Over the past few years, students taking my Perl/CGI course continued to ask me when I would be graduating from CGI to PHP, and whether I would offer a course or write a PHP “by Example” book. I didn’t really take the idea of a book seriously until attending a PHP/MySQL class here in San Francisco a few years ago, where I met Marko Gargenta, who was the teacher of that class and the inspiration for this book. We had lunch together and I mentioned to him that the girl sitting next to me in the class was a Web designer, with little programming experience. She was concerned that she couldn’t keep up with the class and wondered if I knew where she could find a book that explained PHP for designers, not just programmers. Marko had heard similar concerns from his students. We talked about how to address this issue, and from that conversation, the seeds were sown for PHP and MySQL by Example.

Although, theoretically, the Web designer/developer should need no PHP programming experience to change the content of a page, and the programmer should be concerned only with the logic, such as calculations, sending data to a database, and so on, they do not always work in isolation. For example, suppose a page is designed so that when the user enters bank information in an HTML form, a PHP program, after doing some calculations, finds that there are insufficient funds, and sends back an error in a bold red font. In such a case, PHP and HTML are integrated—one to calculate and produce the error message, the other to display it in a bold red font. Keeping the design and program logic separated may be the goal, but it is often impossible with the complexities of today’s Web development.

And then there is the issue of the database management system. Where does the processed data get stored? Who designs the database and its tables? Who administers it? How does the information get from the Web page, to the PHP program, and then to the database? Enter MySQL. Is this yet another world in isolation?

Since my first meeting with Marko, I was challenged to bring these technologies together. When Prentice Hall agreed to publish our book, the learning curve was steep, and after the initial draft was done, I began teaching “An Introduction to PHP and MySQL Programming” from the PDF version of that first draft. I noticed that more Web designers were signing up than programmers, and they came in with trepidation that it would be way over their heads. But with the real-world examples and labs we provided, they started to enjoy feelings of success on the first morning. It was wonderful to witness both designers and programmers sharing their experiences without the artificial boundary that has kept them isolated from each other in the workplace.

The mission of PHP and MySQL by Example is to create a gentle yet thorough introduction to the shared power of PHP and MySQL, to make static HTML pages dynamic. The labs and exercises have been tested by myself, Marko, and our students. I think you will find this “by Example” book a helpful and complete guide, no matter what side of the Web site you support, or even if you are just starting your own.

Acknowledgments

Many people helped with the creation of this book. I’d like to thank Mark L. Taub, my longtime editor at Prentice Hall; Vanessa Moore, the most gifted compositor on the planet; and Julie Nahil, a great production editor. Matthew Leingang, Sander van Zoest, David Mercer, and Jason Wertz provided extremely helpful manuscript reviews. Any remaining mistakes are my own.

I’d also like to thank the students in my classes who provided valuable input for the labs. These include Rita McCue, Sanjay Shahri, Ryan Belcher, Debra Anderson, and Catherine Nguyen.

The fantastic illustrations in the book were created by Elizabeth Staechelin and Daniel Staechelin. And many thanks to the artists who provided artwork for the art gallery example. They are Elliott Easterling, Laura Blair, Stuart Sheldon, and Todd Brown.

Errata and solutions to the labs can be found on the book’s Web site at www.prenhallprofessional.com/title/0131875086. The Northwind database script, used in the chapters, can be found at http://marakana.com/download/sql/northwind.sql.

Ellie Quigley San Francisco, California September 2006

Read More Show Less

Table of Contents

Preface xxiii

Acknowledgments xxiv

Chapter 1: Introduction 1

1.1 From Static to Dynamic Web Sites 1

1.2 About PHP 4

1.3 About MySQL 7

1.4 Chapter Summary 11

Chapter 2: Getting Started 13

2.1 The Life Cycle of a Web Page 13

2.2 The Anatomy of a PHP Script 15

2.3 Some Things to Consider 21

2.4 Review 31

2.5 Chapter Summary 37

Chapter 2 Lab 38

Chapter 3: PHP Quick Start 41

3.1 Quick Start, Quick Reference 41

3.2 Chapter Summary 57

Chapter 4: The Building Blocks: Data Types, Literals, Variables, and Constants 59

4.1 Data Types 59

4.2 Variables 70

4.3 Constants 99

4.4 Chapter Summary 104

Chapter 4 Lab 105

Chapter 5: Operators 107

5.1 About PHP Operators and Expressions 107

5.2 Chapter Summary 145

Chapter 5 Lab 146

Chapter 6: Strings 149

6.1 What Is a String? 149

6.2 String Functions 155

6.3 Other String Functions 214

6.4 Chapter Summary 218

Chapter 6 Lab 219

Chapter 7: Conditionals and Loops 221

7.1 Control Structures, Blocks, and Compound Statements 221

7.2 Loops 232

7.3 Chapter Summary 243

Chapter 7 Lab 244

Chapter 8: Arrays 247

8.1 What Is an Array? 247

8.2 Modifying Arrays (Unsetting, Deleting, Adding, and Changing Elements) 310

8.3 Chapter Summary 335

Chapter 8 Lab 336

Chapter 9: User-Defined Functions 337

9.1 What Is a Function? 337

9.2 Chapter Summary 376

Chapter 9 Lab 377

Chapter 10: More on PHP Forms 379

10.1 Introduction 379

10.2 Review of HTML Forms 379

10.3 PHP and Forms 390

10.4 Chapter Summary 438

Chapter 10 Lab 439

Chapter 11: Files and Directories 441

11.1 Files 441

11.2 The Web Server, PHP, and Permissions 446

11.3 Directories 483

11.4 Managing Content with Include Files 487

11.5 Chapter Summary 494

Chapter 12: Regular Expressions and Pattern Matching 497

12.1 What Is a Regular Expression? 497

12.2 Pattern-Matching Functions 499

12.3 Chapter Summary 565

Chapter 12 Lab 566

Chapter 13: Introduction to MySQL 567

13.1 About Databases 567

13.2 The Anatomy of a Relational Database 570

13.3 Connecting to the Database 575

13.4 The MySQL Privilege System 582

13.5 Chapter Summary 593

Chapter 14: SQL Language Tutorial 595

14.1 What Is SQL? 595

14.2 SQL Data Manipulation Language (DML) 603

14.3 SQL Data Definition Language 620

14.4 SQL Functions 633

14.5 Chapter Summary 642

Chapter 14 Lab 643

Chapter 15: PHP and MySQL Integration 647

15.1 Introduction 647

15.2 The Guest Book Example 663

15.3 Chapter Summary 671

Chapter 15 Lab 671

Chapter 16: Cookies and Sessions 673

16.1 What Is Stateless? 673

16.2 What Are Cookies? 673

16.3 PHP and Cookies 677

16.4 What Is a Session? 694

16.5 Chapter Summary 736

Chapter 16 Lab 738

Chapter 17: Objects 739

17.1 What Are Objects? 739

17.2 Working with Classes 741

17.3 Some PHP 5 Object Features 772

17.4 Chapter Summary 780

Chapter 17 Lab 781

Appendix A: Building an Art Gallery 783

A.1 Project Overview 783

A.2 The Public and the Private 783

A.3 Creating the Web Site 785

A.4 Installing the Art Gallery 805

A.5 Conclusion 808

Appendix B: PHP and E-Mail 809

B.1 The Mail Server 809

B.2 MIME (Multipurpose Internet Mail Extensions) 810

B.3 Runtime Configuration Options 810

B.4 The mail() Function 811

B.5 Sending a Simple E-Mail Message 811

B.6 Example: Sending an HTML Message 813

Appendix C: PHP and Date/Time 819

C.1 Formatting Dates and Times 819

C.2 Getting the Timestamp 824

C.3 Getting the Date and Time 829

Appendix D: Security and Debugging 833

D.1 About Security 833

D.2 Securing PHP and MySQL 834

D.3 Debugging 841

Appendix E: Installation Procedures 849

E.1 About Web Servers 849

E.2 Installing Apache on Windows 849

E.3 Installing PHP on Windows 850

E.4 Installing PHP on Linux/UNIX 851

E.5 Installing PHP on Mac OS X 851

E.6 Configuring Apache to use PHP Module (All Platforms) 851

E.7 Configuring php.ini (All Platforms) 853

E.8 Installing MySQL on Windows 854

E.9 Installing MySQL on Linux/UNIX 854

E.10 Installing MySQL on Mac OS X 854

E.11 Read the Manual 854

Index 855

Read More Show Less

Preface

Over the past few years, students taking my Perl/CGI course continued to ask me when I would be graduating from CGI to PHP, and whether I would offer a course or write a PHP “by Example” book. I didn’t really take the idea of a book seriously until attending a PHP/MySQL class here in San Francisco a few years ago, where I met Marko Gargenta, who was the teacher of that class and the inspiration for this book. We had lunch together and I mentioned to him that the girl sitting next to me in the class was a Web designer, with little programming experience. She was concerned that she couldn’t keep up with the class and wondered if I knew where she could find a book that explained PHP for designers, not just programmers. Marko had heard similar concerns from his students. We talked about how to address this issue, and from that conversation, the seeds were sown for PHP and MySQL by Example.

Although, theoretically, the Web designer/developer should need no PHP programming experience to change the content of a page, and the programmer should be concerned only with the logic, such as calculations, sending data to a database, and so on, they do not always work in isolation. For example, suppose a page is designed so that when the user enters bank information in an HTML form, a PHP program, after doing some calculations, finds that there are insufficient funds, and sends back an error in a bold red font. In such a case, PHP and HTML are integrated—one to calculate and produce the error message, the other to display it in a bold red font. Keeping the design and program logic separated may be the goal, but it is often impossible with the complexities of today’s Web development.

And then there is the issue of the database management system. Where does the processed data get stored? Who designs the database and its tables? Who administers it? How does the information get from the Web page, to the PHP program, and then to the database? Enter MySQL. Is this yet another world in isolation?

Since my first meeting with Marko, I was challenged to bring these technologies together. When Prentice Hall agreed to publish our book, the learning curve was steep, and after the initial draft was done, I began teaching “An Introduction to PHP and MySQL Programming” from the PDF version of that first draft. I noticed that more Web designers were signing up than programmers, and they came in with trepidation that it would be way over their heads. But with the real-world examples and labs we provided, they started to enjoy feelings of success on the first morning. It was wonderful to witness both designers and programmers sharing their experiences without the artificial boundary that has kept them isolated from each other in the workplace.

The mission of PHP and MySQL by Example is to create a gentle yet thorough introduction to the shared power of PHP and MySQL, to make static HTML pages dynamic. The labs and exercises have been tested by myself, Marko, and our students. I think you will find this “by Example” book a helpful and complete guide, no matter what side of the Web site you support, or even if you are just starting your own.

Acknowledgments

Many people helped with the creation of this book. I’d like to thank Mark L. Taub, my longtime editor at Prentice Hall; Vanessa Moore, the most gifted compositor on the planet; and Julie Nahil, a great production editor. Matthew Leingang, Sander van Zoest, David Mercer, and Jason Wertz provided extremely helpful manuscript reviews. Any remaining mistakes are my own.

I’d also like to thank the students in my classes who provided valuable input for the labs. These include Rita McCue, Sanjay Shahri, Ryan Belcher, Debra Anderson, and Catherine Nguyen.

The fantastic illustrations in the book were created by Elizabeth Staechelin and Daniel Staechelin. And many thanks to the artists who provided artwork for the art gallery example. They are Elliott Easterling, Laura Blair, Stuart Sheldon, and Todd Brown.

Errata and solutions to the labs can be found on the book’s Web site at www.prenhallprofessional.com/title/0131875086. The Northwind database script, used in the chapters, can be found at http://marakana.com/download/sql/northwind.sql.

Ellie Quigley
San Francisco, California
September 2006
Read More Show Less

Customer Reviews

Average Rating 4
( 1 )
Rating Distribution

5 Star

(0)

4 Star

(1)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted December 7, 2006

    more discussion on PHP AND MySQL

    Quigley's book acknowledges a major usage of PHP. To write some kind of front end user interface program that hooks to a back end MySQL database. Both are free and open source, and the combination has proved popular. Especially where the front end involves making an HTML web page with embedded PHP commands. Not every example involves both PHP and MySQL. Though all examples have PHP. Many demonstrate how to use PHP inside an HTML file. Like writing user-defined functions, or nesting functions. Or making or using function libraries. The functions are a key idea in PHP, that take you beyond the elementary syntax. Functions also let you gainfully use code by other PHP programmers. Important if you are part of a coding group that has to divide up the programming effort in some manner. Actually, the book has a serious drawback. Despite the use of MySQL in the title, it is only relatively late in the book that you encounter MySQL. Chapters 13 and 14 give a quick guide to MySQL, as a standalone entity. It is only Chapters 15-17 that involve both PHP and MySQL. Perhaps the book should have a more extended discussion, given its title. To this ends, maybe some of the earlier chapters could have been shortened or dropped. Because the reader is getting a book mostly on pure PHP.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)