www.it-ebooks.info PHP5 and MySQL ® Bible Tim Converse and Joyce Park with Clark Morgan 01 557467 FM.qxd 4/5/04 11:09 AM Page iii www.it-ebooks.info 01 557467 FM.qxd 4/5/04 11:09 AM Page ii www.it-ebooks.info PHP5 and MySQL ® Bible 01 557467 FM.qxd 4/5/04 11:09 AM Page i www.it-ebooks.info 01 557467 FM.qxd 4/5/04 11:09 AM Page ii www.it-ebooks.info PHP5 and MySQL ® Bible Tim Converse and Joyce Park with Clark Morgan 01 557467 FM.qxd 4/5/04 11:09 AM Page iii www.it-ebooks.info LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ. PHP5 and MySQL ® Bible Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2004 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 0-7645-5746-7 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 1B/SR/QU/QU/IN No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4447, E-Mail: permcoordinator@wiley.com. For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Control Number: 2004103176 Trademarks: Wiley, the Wiley logo, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. MySQL is a registered trademark of MySQL AB Limited Company. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book. 01 557467 FM.qxd 4/5/04 11:09 AM Page iv www.it-ebooks.info About the Authors Tim Converse has written software to recommend neckties, answer questions about space stations, pick value stocks, and make simulated breakfast. He has an M.S. in Computer Science from the University of Chicago, where he taught several programming classes. He is now an engineering manager in the Web search group at Yahoo!. Joyce Park has an M.A. in history from the University of Chicago, and has worked for several Silicon Valley startups including Epinions, KnowNow, and Friendster. She is a co-lead of the Mod-pubsub Open Source project. Clark Morgan is a Web application and educational software developer with more than five years’ experience writing PHP. He works primarily with medical clients and related busi- nesses. Originally from Boston, he now lives and works in Jacksonville, Florida, with his wife and two children. Clark spends entirely too much of his free time reading other people’s com- puter books. 01 557467 FM.qxd 4/5/04 11:09 AM Page v www.it-ebooks.info Credits Acquisitions Editor Debra Williams Cauley Development Editor Sara Shlaer Production Editor Eric Newman Technical Editors Chris Cornell David Wall Copy Editor C. M. Jones Editorial Manager Mary Beth Wakefield Vice President & Executive Group Publisher Richard Swadley Vice President and Executive Publisher Bob Ipsen Vice President and Publisher Joseph B. Wikert Executive Editorial Director Mary Bednarek Project Coordinator April Farling Graphics and Production Specialists Beth Brooks Sean Decker Carrie Foster Lauren Goddard Quality Control Technician Laura Albert Carl William Pierce Permissions Editor Carmen Krikorian Media Development Specialist Angela Denny Proofreading and Indexing TECHBOOKS Production Services 01 557467 FM.qxd 4/5/04 11:09 AM Page vi www.it-ebooks.info To our parents: For their love, for their sacrifices, and for letting us read a lot when we were kids. — Tim Converse and Joyce Park This, my first serious writing effort, is for my lifelong friend Bob, who pointed me in this direction nearly ten years ago and then had the nerve to suggest I write about it. — Clark Morgan 01 557467 FM.qxd 4/5/04 11:09 AM Page vii www.it-ebooks.info [...]... II: PHP and MySQL Part II is devoted both to MySQL and to PHP’s interaction with MySQL ✦ Chapters 12 and 13 provide a general orientation to Web programming with SQL databases, including advice on how to choose the database system that is right for you ✦ Chapter 14 covers installation and administration of MySQL databases, and Chapter 15 is devoted to PHP functions for MySQL ✦ Chapters 16 and 17 are... Administration 259 MySQL Licensing Installing MySQL: Moving to Version 4 Preinstall considerations Downloading MySQL Installing MySQL on Windows Installing MySQL on Unix Installing MySQL on Mac OS X Post-installation housekeeping Basic MySQL client commands MySQL User Administration Local development Standalone Web site Shared-hosting... survives unchanged in PHP5, there have been some deep changes Among the ones we cover are: ✦ Zend Engine 2 and the new object model, with support for private/protected members, abstract classes, and interfaces ✦ PHP5 s completely reworked XML support, built around libmxl2 ✦ Exceptions and exception handling MySQL coverage We now cover MySQL 4.0 installation, database design, and administration, including... to PHP5 and MySQL Bible! Although we’re biased, we believe that the PHP Web-scripting language is the hands-down winner in its niche — by far the easiest and most flexible server-side tool for getting great Web sites up and running in a hurry Although millions of Web programmers worldwide could be wrong, in this particular case, they’re not MySQL is the most popular open-source database platform, and. .. case studies of PHP /MySQL interactions ✦ Chapters 18 and 19 provide tips and gotchas specific to PHP /MySQL work www.it-ebooks.info xi xii Preface Part III: Advanced Features and Techniques In this part we cover more advanced and abstruse features of PHP, usually as self-contained chapters, including object-oriented programming, session handling, exception handling, using cookies, and regular expressions... second edition and bring it up to date with PHP5 We realized, however, that although the previous editions covered PHP /MySQL interaction, we had left readers in the dark about how to create and administer MySQL databases in the first place, and this led to many reader questions As a result, we decided to beef up the coverage of MySQL and change the title www.it-ebooks.info x Preface New PHP5 features... replication, and recovery As with previous editions, we devote much of the book to techniques for writing MySQL- backed PHP applications Other new material In addition to MySQL- and PHP5- specific features, we’ve added: ✦ Improved coverage of databases other than MySQL (Oracle, PostgreSQL, and the PEAR database interaction layer) ✦ The PEAR code repository ✦ A chapter on integrating PHP and Java ✦ Separate... xv Part I: PHP: The Basics 1 Chapter 1: Why PHP and MySQL? 3 What Is PHP? 3 What Is MySQL? 4 The History of PHP 4 The History of MySQL 5 Reasons to Love PHP and MySQL 6 Cost ... 265 268 268 269 269 272 274 276 277 278 278 Chapter 15: PHP /MySQL Functions 279 Connecting to MySQL Making MySQL Queries Fetching Data Sets Getting Data about Data Multiple Connections Building in Error Checking Creating MySQL Databases with PHP MySQL data types MySQL Functions Summary ... through 42 cover self-contained topics: PHP and e-mail programs, combining PHP with JavaScript, integrating PHP and Java, PHP and XML, PHP-based Web services, and creating graphics with the gd image library Part V: Case Studies Here we present six extended case studies that wrap together techniques from various early chapters ✦ Chapter 43 takes you through the design and implementation of a weblog ✦ Chapter . ii www.it-ebooks.info PHP5 and MySQL ® Bible 01 557467 FM.qxd 4/5/04 11:09 AM Page i www.it-ebooks.info 01 557467 FM.qxd 4/5/04 11:09 AM Page ii www.it-ebooks.info PHP5 and. Exceptions and exception handling MySQL coverage We now cover MySQL 4.0 installation, database design, and administration, including back- ups, replication, and