Introduction Who Should Read This Book?How This Book Is
OrganizedConventions Used in This BookPart I: Laying the Groundwork
Chapter 1: Installation QuickStart Guide Linux/UNIX Installation
Installing MySQL Installing Apache Installing PHP Windows
Installation Installing MySQL Installing Apache Installing PHP Mac
OS X Installation Installing MySQL Installing PHP Troubleshooting
Chapter 2: Installing and Configuring MySQL Current and Future
Versions of MySQL How to Get MySQL Installing MySQL on Linux/UNIX
Installing MySQL on Mac OS X Installing MySQL on Windows
Troubleshooting Your Installation Basic Security Guidelines
Starting MySQL Securing Your MySQL Connection Introducing the MySQL
Privilege System The Two-Step Authentication Process Working with
User Privileges Adding Users Removing Privileges Chapter 3:
Installing and Configuring Apache Current and Future Versions of
Apache Choosing the Appropriate Installation Method Building from
Source Installing a Binary Installing Apache on Linux/UNIX
Downloading the Apache Source Code Uncompressing the Source Code
Preparing to Build Apache Building and Installing Apache Installing
Apache on Mac OS X Installing Apache on Windows Apache
Configuration File Structure Directives Containers Conditional
Evaluation The ServerRoot Directive Per-Directory Configuration
Files Apache Log Files The access_log File The error_log File
Additional Files Apache-Related Commands Apache Server Binary
Apache Control Script Starting Apache for the First Time Check Your
Configuration File Starting Apache Troubleshooting Already an
Existing Web Server No Permission to Bind to Port Access Denied
Wrong Group Settings Chapter 4: Installing and Configuring PHP
Current and Future Versions of PHP Building PHP on Linux/UNIX with
Apache Additional Linux/UNIX Configuration Options Integrating PHP
with Apache on Linux/UNIX Installing PHP on Mac OS X Installing PHP
on Windows Integrating PHP with Apache on Windows php.ini Basics
Testing Your Installation Getting Installation Help The Basics of
PHP Scripts Beginning and Ending a Block of PHP Statements The echo
Statement and print() Function Combining HTML and PHP Adding
Comments to PHP Code Part II: PHP Language Structure Chapter 5: The
Building Blocks of PHP Variables Globals and Superglobals Data
Types Changing Type with settype() Changing Type by Casting Why
Test Type? Operators and Expressions The Assignment Operator
Arithmetic Operators The Concatenation Operator Combined Assignment
Operators Automatically Incrementing and Decrementing
an Integer Variable Comparison Operators Creating Complex Test
Expressions with the Logical Operators Operator Precedence
Constants Predefined Constants Chapter 6: Flow Control Functions in
PHP Switching Flow The if Statement Using the else Clause with the
if Statement Using the elseif Clause with the if Statement The
switch Statement Using the ? Operator Loops The while Statement The
do...while Statement The for Statement Breaking Out of Loops with
the break Statement Skipping an Iteration with the continue
Statement Nesting Loops Code Blocks and Browser Output Chapter 7:
Working with Functions What Is a Function? Calling Functions
Defining a Function Returning Values from User-Defined Functions
Variable Scope Accessing Variables with the global Statement Saving
State Between Function Calls with the static Statement More About
Arguments Setting Default Values for Arguments Passing Variable
References to Functions Testing for the Existence of a Function
Chapter 8: Working with Arrays What Are Arrays? Creating Arrays
Creating Associative Arrays Creating Multidimensional Arrays Some
Array-Related Functions Chapter 9: Working with Objects Creating an
Object Properties of Objects Object Methods Constructors Object
Inheritance Part III: Getting Involved with the Code Chapter 10:
Working with Strings, Dates, and Time Formatting Strings with PHP
Working with printf() Specifying a Field Width Argument Swapping
Storing a Formatted String Investigating Strings in PHP A Note
About Indexing Strings Finding the Length of a String with strlen()
Finding a Substring Within a String with strstr() Finding the
Position of a Substring with strpos() Extracting Part of a String
with substr() Tokenizing a String with strtok() Manipulating
Strings with PHP Cleaning Up a String with trim(), ltrim(), and
strip_tags() Replacing a Portion of a String Using substr_replace()
Replacing Substrings Using str_replace Converting Case Wrapping
Text with wordwrap() and nl2br() Breaking Strings into Arrays with
explode() Using Date and Time Functions in PHP Getting the Date
with time() Converting a Time Stamp with getdate() Converting a
Time Stamp with date() Creating Time Stamps with mktime() Testing a
Date with checkdate() Other String, Date, and Time Functions
Chapter 11: Working with Forms Creating a Simple Input Form
Accessing Form Input with User-Defined Arrays Combining HTML and
PHP Code on a Single Page Using Hidden Fields to Save State
Redirecting the User Sending Mail on Form Submission System
Configuration for the mail() Function Creating the Form Creating
the Script to Send the Mail Formatting Your Mail with HTML Working
with File Uploads Creating the File Upload Form Creating the File
Upload Script Chapter 12: Working with Cookies and User Sessions
Introducing Cookies The Anatomy of a Cookie Setting a Cookie with
PHP Deleting a Cookie Session Function Overview Starting a Session
Working with Session Variables Passing Session IDs in the Query
String Destroying Sessions and Unsetting Variables Using Sessions
in an Environment with Registered Users Working with Registered
Users Working with User Preferences Chapter 13: Working with Files
and Directories Including Files with include() Returning a Value
from an Included Document Using include() Within Control Structures
Using include_once() The include_path Directive Validating Files
Checking for Existence with file_exists() A File or a Directory?
Checking the Status of a File Determining File Size with filesize()
Getting Date Information About a File Creating a Function That
Performs Multiple File Tests Creating and Deleting Files Opening a
File for Writing, Reading, or Appending Reading from Files Reading
Lines from a File with fgets() and feof() Reading Arbitrary Amounts
of Data from a File with fread() Reading Characters from a File
with fgetc() Writing or Appending to a File Writing to a File with
fwrite() or fputs() Locking Files with flock() Working with
Directories Creating Directories with mkdir() Removing a Directory
with rmdir() Opening a Directory for Reading with opendir() Reading
the Contents of a Directory with readdir() Opening Pipes to and
from Processes Using popen() Running Commands with exec() Running
Commands with system() or passthru() Chapter 14: Working with
Images Understanding the Image-Creation Process A Word About Color
Necessary Modifications to PHP Obtaining Additional Libraries
Drawing a New Image Drawing Shapes and Lines Using a Color Fill
Getting Fancy with Pie Charts Modifying Existing Images Image
Creation from User Input Part IV: PHP and MySQL Integration Chapter
15: Understanding the Database Design Process The Importance of
Good Database Design Types of Table Relationships One-to-One
Relationships One-to-Many Relationships Many-to-Many Relationships
Understanding Normalization Problems with the Flat Table First
Normal Form Second Normal Form Third Normal Form Following the
Design Process Chapter 16: Learning Basic SQL Commands Learning the
MySQL Data Types Numeric Data Types Date and Time Types String
Types Learning the Table Creation Syntax Using the INSERT Command A
Closer Look at INSERT Using the SELECT Command Ordering SELECT
Results Limiting Your Results Using WHERE in Your Queries Using
Operators in WHERE Clauses String Comparison Using LIKE Selecting
from Multiple Tables Using JOIN Using Subqueries Using the UPDATE
Command to Modify Records Conditional UPDATEs Using Existing Column
Values with UPDATE Using the REPLACE Command Using the DELETE
Command Conditional DELETE Frequently Used String Functions in
MySQL Length and Concatenation Functions Trimming and Padding
Functions Location and Position Functions Substring Functions
String Modification Functions Using Date and Time Functions in
MySQL Working with Days Working with Months and Years Working with
Weeks Working with Hours, Minutes, and Seconds Formatting Dates and
Times with MySQL Performing Date Arithmetic with MySQL Special
Functions and Conversion Features Chapter 17: Using Transactions
and Stored Procedures in MySQL What Are Transactions? Basic Syntax
Used in Transactions Working Example Using Transactions What Are
Stored Procedures? Basic Syntax of Stored Procedures Chapter 18:
Interacting with MySQL Using PHP MySQL Versus MySQLi Functions
Connecting to MySQL with PHP Making a Connection Executing Queries
Retrieving Error Messages Working with MySQL Data Inserting Data
with PHP Retrieving Data with PHP Additional MySQL Functions in PHP
Part V: Basic Projects Chapter 19: Managing a Simple Mailing List
Developing the Subscription Mechanism Creating the subscribers
Table Creating the Subscription Form Developing the Mailing
Mechanism Chapter 20: Creating an Online Address Book Planning and
Creating the Database Tables Creating a Menu Creating the Record
Addition Mechanism Viewing Records Creating the Record Deletion
Mechanism Adding Subentries to a Record Chapter 21: Creating a
Simple Discussion Forum Designing the Database Tables Creating the
Input Forms and Scripts Displaying the Topic List Displaying the
Posts in a Topic Adding Posts to a Topic Chapter 22: Creating an
Online Storefront Planning and Creating the Database Tables
Inserting Records into the store_categories Table Inserting Records
into the store_items Table Inserting Records into the
store_item_size Table Inserting Records into the store_item_color
Table Displaying Categories of Items Displaying Items Chapter 23:
Creating a Shopping Cart Mechanism Planning and Creating the
Database Tables Integrating the Cart with Your Storefront Adding
Items to Your Cart Viewing the Cart Removing Items from Your Cart
Payment Methods and the Checkout Sequence Creating the Checkout
Form Performing the Checkout Actions Chapter 24: Creating a Simple
Calendar Building a Simple Display Calendar Checking User Input
Building the HTML Form Creating the Calendar Table Adding Events to
the Calendar Creating a Calendar Library Chapter 25: Restricting
Access to Your Applications Authentication Overview Client
Authentication Apache Authentication Module Functionality
File-Based Authentication Database File-Based Access Control Using
Apache for Access Control Implementing Access Rules Evaluating
Access Rules Combining Apache Access Methods Limiting Access Based
on HTTP Methods Restricting Access Based on Cookie Values Creating
the Authorized Users Table Creating the Login Form and Script
Testing for the auth Cookie Chapter 26: Logging and Monitoring Web
Server Activity Standard Apache Access Logging Deciding What to Log
Logging Accesses to Files Logging Accesses to a Program Standard
Apache Error Logging Logging Errors to a File Logging Errors to a
Program The syslog Daemon Argument The LogLevel Directive Managing
Apache Logs Resolving Hostnames Log Rotation Merging and Splitting
Logs Log Analysis Monitoring Error Logs Logging Custom Information
to a Database Creating the Database Table Creating the PHP Code
Snippet Creating Sample Reports Chapter 27: Application
Localization About Internationalization and Localization About
Character Sets Environment Modifications Configuration Changes to
Apache Configuration Changes to PHP Configuration Changes to MySQL
Creating a Localized Page Structure Chapter 28: Working with XML
What Is XML? Basic XML Document Structure Accessing XML in PHP
Using DOM Functions Accessing XML in PHP Using SimpleXML Functions
Part VI: Administration and Fine-tuning Chapter 29: Apache
Performance Tuning and Virtual Hosting Scalability Issues Operating
System Limits Performance-Related Apache Settings Load Testing with
ApacheBench Proactive Performance Tuning Mapping Files to Memory
Distributing the Load Caching Reduce Transmitted Data Network
Settings Preventing Abuse Robots Implementing Virtual Hosting
IP-Based Virtual Hosting Name-Based Virtual Hosts Mass Virtual
Hosting Chapter 30: Setting Up a Secure Web Server The Need for
Security The SSL Protocol Addressing the Need for Confidentiality
Addressing the Need for Integrity Addressing the Need for
Authentication Obtaining and Installing SSL Tools OpenSSL The
mod_ssl Apache Module Managing Certificates Creating a Key Pair
Creating a Certificate Signing Request Creating a Self-Signed
Certificate SSL Configuration Starting the Server Chapter 31:
Optimizing and Tuning MySQL Building an Optimized Platform Using
the benchmark() Function MySQL Startup Options Key Startup
Parameters Optimizing Your Table Structure Optimizing Your Queries
Using the FLUSH Command Using the SHOW Command Retrieving
Information About Databases and Tables Retrieving Table Structure
Information Retrieving System Status Chapter 32: Software Upgrades
Staying in the Loop When to Upgrade Upgrading MySQL Upgrading
Apache Modifying Apache Without Upgrading Upgrading PHP Using PECL
and PEAR to Extend PHP Index
Fully updated to reflect the most recent developments in PHP and MySQL, Sams Teach Yourself PHP, MySQL and Apache All in One, Third Edition combines these most popular open source Web development tools into a complete book, packaged with one easy-to-use Starter Kit CD. This book teaches the reader to install, configure and set up the PHP scripting language, the MySQL database system, and the Apache Web server. By the end of this book the reader will understand how these technologies work, and more importantly, how they work together to create a dynamic Web site. After creating a simple Web site using these tools, the reader will be able to manage a simple mailing list, and to create an online address book, shopping cart, and storefront. Sams Teach Yourself PHP, MySQL and Apache All in One, Third Edition also teaches the reader how to fine-tune Apache and MySQL, and covers simple Web server security.
You own your own business. You have also created a website for your business that details the products or services that you offer, but it doesn't allow potential customers to purchase anything online. Don't risk losing business-learn to create a dynamic online environment using only three programs. PHP, MySQL and Apache are three popular open-source tools that can work together to help you create a dynamic website, such as an online shopping experience. Sams Teach Yourself PHP, MySQL and Apache All in One is a complete reference manual for all three development tools. You will learn how to install, configure and set up the PHP scripting language, use the MySQL database system, and work with the Apache Web server. Then you'll take it a step further and discover how they work together to create a dynamic website. Use the book and the included CD to create a simple website, as well as a mailing list, online address book, shopping cart and storefront. Updated to reflect the most recent developments in PHP and MySQL, including the final stable release of MySQL 5.0, you will open your website to limitless possibilities with Sams Teach Yourself PHP, MySQL and Apache All in One.
Julie Meloni is the technical director for i2i Interactive, a multimedia company located in Campbell, CA. She has been developing Web-based applications since the early days of the Web, and is the author of several books and articles on Web-based programming languages and database topics, such as Sams Teach Yourself MySQL in 24 Hours and Blogging in a Snap.
![]() |
Ask a Question About this Product More... |
![]() |