PHP and MySQL by Example

PHP and MySQL by Example

ISBN-10:
0131875086
ISBN-13:
9780131875081
Pub. Date:
12/06/2006
Publisher:
Prentice Hall
ISBN-10:
0131875086
ISBN-13:
9780131875081
Pub. Date:
12/06/2006
Publisher:
Prentice Hall
PHP and MySQL by Example

PHP and MySQL by Example

$54.99
Current price is , Original price is $54.99. You
$54.99 
  • SHIP THIS ITEM
    This item is available online through Marketplace sellers.
  • PICK UP IN STORE

    Your local store may have stock of this item.

$14.64 
  • SHIP THIS ITEM

    Temporarily Out of Stock Online

    Please check back later for updated availability.

    • Condition: Good
    Note: Access code and/or supplemental material are not guaranteed to be included with used textbook.

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.


Product Details

ISBN-13: 9780131875081
Publisher: Prentice Hall
Publication date: 12/06/2006
Pages: 878
Product dimensions: 7.00(w) x 9.10(h) x 1.70(d)

About 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 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

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

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
From the B&N Reads Blog

Customer Reviews