PHP and MySQL by Example

Paperback
from $0.00

Author: Ellie Quigley

ISBN-10: 0131875086

ISBN-13: 9780131875081

Category: Design & Development - Databases

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.

Search in google:

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.

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

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 11Chapter 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 38Chapter 3: PHP Quick Start 41 3.1 Quick Start, Quick Reference 41 3.2 Chapter Summary 57Chapter 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 105Chapter 5: Operators 107 5.1 About PHP Operators and Expressions 107 5.2 Chapter Summary 145 Chapter 5 Lab 146Chapter 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 219Chapter 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 244Chapter 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 336Chapter 9: User-Defined Functions 337 9.1 What Is a Function? 337 9.2 Chapter Summary 376 Chapter 9 Lab 377Chapter 10: More on PHP Forms 379 10.1 Introduction 379 10.2Review of HTML Forms 379 10.3 PHP and Forms 390 10.4 Chapter Summary 438 Chapter 10 Lab 439Chapter 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 494Chapter 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 566Chapter 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 593Chapter 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 643Chapter 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 671Chapter 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 738Chapter 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 781Appendix 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 808Appendix 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 813Appendix 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 829Appendix D: Security and Debugging 833 D.1 About Security 833 D.2 Securing PHP and MySQL 834 D.3 Debugging 841 Index 855