Kevin seems like a super guy on sitepoint, but please, kevin, stop writing books. Boring read and far from being well structured. I'm sure kevin is a good coder, but if he happens to code like he writes, his script would be all over the place.
Sorry, I mostly gave it 3 stars because I really like Kevin, but if anyone wants to get a book on php and mysql this is not it.
p.s.
Sitepoint books lately have been bad. I'm starting to think they have a cookie cutter method of writing. I'm still a fan of the forum, but their books are not what they use to be.
Author(s): Kevin Yank
Edition: Fourth Edition
Publisher: SitePoint
Year: 2009
Language: English
Pages: 506
Build Your Own Database Driven Web Site Using PHP & MySQL......Page 0
Table of Contents......Page 8
Preface......Page 18
Who Should Read This Book......Page 19
What’s in This Book......Page 20
The Code Archive......Page 23
Your Feedback......Page 24
Code Samples......Page 25
Tips, Notes, and Warnings......Page 26
Installation......Page 28
Your Own Web Server......Page 29
All-in-one Installation......Page 30
Installing MySQL......Page 36
Installing PHP......Page 39
All-in-one Installation......Page 47
Installing MySQL......Page 51
Installing PHP......Page 55
Linux Installation......Page 59
Installing MySQL......Page 60
Installing PHP......Page 64
Post-Installation Set-up Tasks......Page 71
What to Ask Your Web Host......Page 74
Your First PHP Script......Page 75
Full Toolbox, Dirty Hands......Page 79
An Introduction to Databases......Page 80
Logging On to MySQL......Page 82
Structured Query Language......Page 87
Creating a Table......Page 88
Inserting Data into a Table......Page 91
Viewing Stored Data......Page 93
Modifying Stored Data......Page 96
Let PHP Do the Typing......Page 97
Introducing PHP......Page 100
Basic Syntax and Statements......Page 102
Variables, Operators, and Comments......Page 105
Arrays......Page 106
User Interaction and Forms......Page 108
Control Structures......Page 121
Avoid Advertising Your Technology Choices......Page 131
Use PHP Templates......Page 133
Many Templates, One Controller......Page 136
Bring On the Database......Page 140
The Big Picture......Page 142
Connecting to MySQL with PHP......Page 144
Sending SQL Queries with PHP......Page 150
Handling SELECT Result Sets......Page 153
Inserting Data into the Database......Page 159
Deleting Data from the Database......Page 169
Mission Accomplished......Page 176
Relational Database Design......Page 178
Giving Credit Where Credit is Due......Page 179
Rule of Thumb: Keep Entities Separate......Page 180
SELECT with Multiple Tables......Page 185
Simple Relationships......Page 190
Many-to-Many Relationships......Page 193
One for Many, and Many for One......Page 196
Structured PHP Programming......Page 198
Including HTML Content......Page 199
Including PHP Code......Page 201
Types of Includes......Page 207
Shared Include Files......Page 208
Custom Functions and Function Libraries......Page 211
Variable Scope and Global Access......Page 214
Structure in Practice: Template Helpers......Page 218
The Best Way......Page 222
A Content Management System......Page 224
The Front Page......Page 225
Managing Authors......Page 229
Deleting Authors......Page 231
Adding and Editing Authors......Page 234
Managing Categories......Page 239
Searching for Jokes......Page 245
Adding and Editing Jokes......Page 252
Deleting Jokes......Page 264
Summary......Page 265
Content Formatting with Regular Expressions......Page 268
Regular Expressions......Page 269
String Replacement with Regular Expressions......Page 274
Boldface and Italic Text......Page 275
Paragraphs......Page 276
Hyperlinks......Page 279
Matching Tags......Page 282
Putting It All Together......Page 284
Real World Content Submission......Page 287
Cookies......Page 288
PHP Sessions......Page 294
A Simple Shopping Cart......Page 296
Database Design......Page 306
Controller Code......Page 310
Function Library......Page 317
Managing Passwords and Roles......Page 327
A Challenge: Joke Moderation......Page 336
The Sky’s the Limit......Page 338
MySQL Administration......Page 340
phpMyAdmin......Page 341
Database Backups Using mysqldump......Page 346
Incremental Backups Using Binary Logs......Page 348
Granting Privileges......Page 351
Revoking Privileges......Page 355
Access Control Tips......Page 356
Locked Out?......Page 358
Checking and Repairing MySQL Data Files......Page 359
Better Safe than Sorry......Page 363
Sorting SELECT Query Results......Page 364
Setting LIMITs......Page 367
LOCKing TABLES......Page 368
Column and Table Name Aliases......Page 371
GROUPing SELECT Results......Page 374
LEFT JOINs......Page 376
Limiting Results with HAVING......Page 380
Further Reading......Page 381
Binary Data......Page 384
Semi-dynamic Pages......Page 385
Handling File Uploads......Page 391
Assigning Unique Filenames......Page 394
Recording Uploaded Files in the Database......Page 396
Binary Column Types......Page 397
Storing Files......Page 399
Viewing Stored Files......Page 401
Putting It All Together......Page 406
PHP Script Timeout......Page 413
The End......Page 414
ALTER TABLE......Page 416
ANALYZE TABLE......Page 419
CREATE TABLE......Page 420
DELETE......Page 422
DESCRIBE/DESC......Page 423
EXPLAIN......Page 424
INSERT......Page 425
LOCK/UNLOCK TABLES......Page 427
OPTIMIZE TABLE......Page 428
REPLACE......Page 429
SELECT......Page 430
Joins......Page 434
Unions......Page 436
SET......Page 437
SHOW......Page 438
UNLOCK TABLES......Page 439
UPDATE......Page 440
USE......Page 441
Control Flow Functions......Page 442
Mathematical Functions......Page 443
String Functions......Page 446
Date and Time Functions......Page 450
Miscellaneous Functions......Page 457
Functions for Use with GROUP BY Clauses......Page 460
Appendix C: MySQL Column Types......Page 462
Numerical Types......Page 463
Character Types......Page 467
Date/Time Types......Page 472
mysqli_character_set_name......Page 476
mysqli_connect......Page 477
mysqli_data_seek......Page 478
mysqli_fetch_all......Page 479
mysqli_fetch_field......Page 480
mysqli_fetch_fields......Page 481
mysqli_field_count......Page 482
mysqli_get_client_version......Page 483
mysqli_info......Page 484
mysqli_query......Page 485
mysqli_real_query......Page 486
mysqli_store_result......Page 487
mysqli_use_result......Page 488
Index......Page 490