Table of Contents
PHP と MySQL:教材を選ぶ前にバージョンを監査する
2011 年の原文には、旧版書籍の推薦、誇張された職業上の約束、アフィリエイト購入リンク、表紙画像のダウンロードが混在していました。この保守版は PDF、表紙のダウンロード、購入先への転送、アフィリエイトリンク、「必ず買うべき」という結論を提供しません。URL の pdf は、保存された歴史的 slug にすぎません。
この記事の最終確認日は 2026 年 9 月 1 日です。永続的な書籍ランキングを作るのではなく、版を照合し、資料を合法的に入手し、実行可能な証拠から現代の PHP と MySQL/MariaDB 開発を理解できたか判断する方法を示します。
1. まず PHP 5、MySQL 5、「PHP 6」の境界を分ける
PHP 公式サポート対象バージョン表は時間とともに変わります。学習と新規プロジェクトでは監査日にサポートされているブランチを選び、正確なパッチリリースを記録してください。公式の過去のリリース一覧は旧版をアーカイブとして扱い、PHP 5.6 から 7.0 への移行ガイドは実際の移行経路が PHP 7 へ直接進んだことを示しています。
したがって、旧書名にある「PHP 6」は現在配備できるランタイムではありません。PHP 6 の Unicode 対応作業はそのランタイムとして公開されず、名前空間は PHP 5.3 で正式に導入されました。書籍中の関連説明は歴史的背景としてのみ扱ってください。PHP 6 のインストーラーを探したり、書籍の未来形を現在の互換性説明として扱ったりしてはいけません。
今も役立つ概念には、HTTP の要求と応答、型と制御フロー、関数とオブジェクト、関係モデル、SQL、インデックス、トランザクション、エラー処理、セッション、セキュリティ境界、バックアップがあります。現在の文書で学び直す必要があるのは、PHP 5 固有の構文と削除済み拡張、PEAR DB や旧 mysql_* API、MySQL 5 の管理ツール、古いパスワード慣行、Web 2.0/Ajax の時代的表現、そして根拠のない市場占有率、採用需要、企業推薦、習得や富の約束です。
2. 2011 年書誌の証拠監査
次の表には、現在の出版社または目録ページで裏付けられるメタデータだけを記載します。「境界」は技術的な適用可能性の評価であり、品質評価や購入推薦ではありません。
| 2011 年の項目 | 確認できた書誌情報 | 2026 年の利用境界 |
|---|---|---|
| PHP and MySQL Web Development, 4th Edition | Luke Welling、Laura Thomson;第 4 版;紙書籍 ISBN 978-0-672-32916-6;InformIT/Pearson 目録、2008 年 | 目録記録は残るが、内容は PHP 5.3 と当時の MySQL が中心。概念と歴史的な例に限って使い、現在のインストールやセキュリティ基準にはしない |
| Programming PHP, 2nd Edition | Rasmus Lerdorf、Kevin Tatroe、Peter MacIntyre;O'Reilly;2006 年;ISBN-10 0-596-00681-0(ISBN-13 978-0-596-00681-5) | PHP 5 対象と明記。言語の基礎は比較できるが、API とセキュリティの詳細は現行マニュアルで再確認する。O'Reilly には 2020 年の第 4 版もあるが、PHP 7.4 が基準なので現在のバージョン確認の代わりにはならない |
| The Definitive Guide to MySQL 5, Third Edition | Michael Kofler;Apress;第 3 版;2005 年;紙書籍 ISBN 978-1-59059-535-0;電子書籍 ISBN 978-1-4302-0071-0 | 出版社目録は残るが、対象版と一部ツールは歴史的。データベース設計の概念は読めるものの、コマンド、権限、バックアップ、性能の挙動は選んだ現行データベースの文書で確認する |
| A Practical Guide to MySQL: Database Development, Optimization, Administration, and Maintenance | 2011 年原文には版、著者、ISBN がなく、その印刷版は推定できない。現在の教材目録では第 3 版を確認できる:翟振兴、张恒岩、崔春华;人民邮电出版社;2019 年;ISBN 978-7-115-51539-1 | 第 3 版の記録は、原文がどの版を扱ったかを証明しない。奥付の ISBN を読み、その実物の版を評価する。後の版のメタデータを古い本に付けない |
| PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide | Larry Ullman;Peachpit Press;第 3 版;2008 年;ISBN 978-0-321-52599-4;著者ページと Pearson 第 5 版目録でシリーズ沿革を相互確認 | 「PHP 6」という位置づけは旧式。シリーズの後続版も各出版時点を表すだけ。演習構成は参考になり得るが、バージョン主張やセキュリティコードは転用しない |
根拠ページは、InformIT 第 4 版目録、O'Reilly 第 2 版目録、O'Reilly 第 4 版目録、Springer/Apress MySQL 5 目録、中国語教材第 3 版目録、Larry Ullman の版履歴、Pearson 第 5 版目録です。
3. 合法かつ販売上の偏りなく版を選ぶ
- 奥付または図書館記録から、完全な書名、著者、版、出版社、年、ISBN を写します。翻訳名や表紙だけで本を特定しないでください。
- 出版社目録と WorldCat のような図書館総合目録を相互確認します。装丁、電子書籍、翻訳版には通常それぞれ異なる ISBN があります。
- 目次、合法的な見本、正誤表、対象ランタイムを先に確認します。実際に使う PHP/データベースのブランチを扱わない本は、操作マニュアルではなく概念書に分類します。
- 合法的な経路には、公共/大学図書館、出版社が認可した電子書籍、正規書店、適法な中古本があります。不明な共有ドライブ、短縮リンク、「高画質 PDF」ページから著作物の複製を入手しないでください。
- 表紙も著作権と商標で保護されます。出版社が明示的に許可し、その条件を守れる場合だけ再利用し、それ以外は文字だけの書誌を使います。
この記事にはアフィリエイト関係がありません。出版社ページの価格、地域別の提供状況、購読条件は変わり得ます。2026 年 9 月 1 日時点の書誌確認は、価格の約束、在庫保証、購入推薦ではありません。
4. 正確で現行の技術基準を作る
まず現在サポートされている PHP ブランチを選び、次にそのブランチを明示的にサポートする Composer パッケージと PHPUnit リリースを選びます。データベース製品と系列も一つに決めて固定してください。MySQL と MariaDB は関連していますが、無条件に交換できる同一実装ではありません。
set -euo pipefail
php -v
php --ini
php -m | LC_ALL=C sort
composer --version
mysql --version
この出力とともに、OS、Web サーバー/PHP SAPI、データベースサーバーのバージョン、文字セット/照合順序、Composer lock のハッシュ、Git commit をプロジェクト台帳へ保存します。「自分のマシンでは動く」はバージョン定義ではありません。
依存関係は Composer 公式文書で管理し、composer.lock をバージョン管理へコミットし、Composer の基本的な使い方に従ってインストールを再現します。PHP-FIG PSR 一覧はスタイルやインターフェース規約の参考になりますが、PSR はセキュリティ認証でもアーキテクチャ判断の代替でもありません。
5. 証拠を終了条件にする学習ロードマップ
| 段階 | 学習内容 | 必須の証拠 |
|---|---|---|
| 1. 言語とツール | 型、制御フロー、関数、例外、オブジェクト、名前空間、自動ロード、Composer | 小さな CLI プログラム;lock ファイル;再実行できる静的検査とテストコマンド |
| 2. HTTP と境界 | 要求/応答、フォーム、JSON、Cookie、セッション、文字コード、入力検証、出力エスケープ | 正常、欠落、不正、過大入力の自動テスト |
| 3. 関係モデルと SQL | キー、正規化、制約、結合、集約、トランザクション、分離 | ER 図、DDL migration、seed データ、クエリ結果のアサーション |
| 4. PHP データアクセス | PDO、例外モード、ネイティブ prepared statements、トランザクション境界 | SQL 連結のない repository テスト;失敗経路のロールバックテスト |
| 5. ID とセキュリティ | パスワードハッシュ、セッション更新、認可、CSRF、レート制限、秘密管理、ログの秘匿化 | 脅威モデル;認可、インジェクション、CSRF、セッションのテスト;依存監査 |
| 6. 移行と復旧 | 前進/ロールバック戦略、バックアップ、復元訓練、保持 | 隔離復元と行数/チェックサム検証;RPO/RTO 仮定の記録 |
| 7. 性能と運用 | インデックス、EXPLAIN、遅いクエリ、ページング、キャッシュ境界、可観測性 | 固定データセットとクエリ計画;ベンチマーク手法、結果、回帰しきい値 |
| 8. 提供 | 設定分離、最小権限、CI、リリース、ロールバック、保守時間帯 | 空の環境から build、test、migration、実行、rollback した証拠 |
入口には PHP マニュアル、PHPUnit マニュアル、MySQL Reference Manual、または MariaDB Server 文書を使います。データベースを選んだ後はその実際の意味論をテストし、他製品の文書で代用しないでください。
6. 「読めば習得」を有限のプロジェクトに置き換える
実在する顧客データや支払いを扱わない、単独利用者または小チーム向けのタスク管理ツールを作ります。範囲を、ログイン、タスク CRUD、絞り込み/ページング、監査時刻、一回の schema migration、一回のバックアップ/復元、基本的な性能証拠に固定します。
| 観点 | 合格 | 不合格 |
|---|---|---|
| 正確性 | 単体、統合、HTTP テストが成功と失敗を網羅し、CI が空のデータベースから通る | 開発者の既存データベースに対する手動操作だけ成功 |
| データ | 制約とトランザクションが不変条件を守り、migration を複製上で演習 | rollback/backup なしで本番テーブルを手作業変更 |
| セキュリティ | Prepared statements、出力エスケープ、セッション/認可テスト、リポジトリに秘密なし | SQL 連結、共有管理者アカウント、ログ内の認証情報 |
| 復旧 | 隔離復元が成功し内容を検証、復元時間を記録 | 復元テストのない「バックアップ完了」画面だけ |
| 性能 | データ量、クエリ計画、しきい値を固定し、変更前後を比較可能 | 「速く感じる」または一回だけの応答時間観察 |
| 再現性 | PHP/DB/依存関係/commit を固定し、README から空の状態で再現 | 浮動依存、版不明、個人の一台だけで動く |
7. PDO と prepared statements の安全な最小例
接続認証情報は配備環境または承認された秘密ストアから注入し、コード、fixture、URL、ログへ置かないでください。この例は例外モード、連想配列の結果、ネイティブ prepared statements を固定します。
<?php
declare(strict_types=1);
function requiredEnv(string $name): string
{
$value = getenv($name);
if ($value === false || $value === '') {
throw new RuntimeException("missing required environment variable: {$name}");
}
return $value;
}
function tasksForOwner(PDO $pdo, int $ownerId): array
{
$statement = $pdo->prepare(
'SELECT id, title, status, created_at '
. 'FROM task WHERE owner_id = :owner_id '
. 'ORDER BY created_at DESC LIMIT 50'
);
$statement->execute(['owner_id' => $ownerId]);
return $statement->fetchAll();
}
$pdo = new PDO(
requiredEnv('DATABASE_DSN'),
requiredEnv('DATABASE_USER'),
requiredEnv('DATABASE_PASSWORD'),
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]
);
PHP PDO prepared statements 文書は、パラメーターが一つの完全なデータリテラルを表し、テーブル名、列名、キーワード、任意の SQL 断片を表さないことを説明しています。動的な識別子はコード中の許可リストから選びます。Prepared statements だけでは出力エスケープ、認可、CSRF、業務ロジックの欠陥は解決しません。OWASP SQL Injection Preventionと OWASP Authenticationからテストを作成してください。
8. Migration、依存関係、テストを反復可能にする
次は意図的に単純にした MySQL/MariaDB 共通部分の DDL 例です。実際のプロジェクトでは、選んだ正確なサーバーリリースで DDL、時刻型、照合順序、インデックス制限を検証する必要があります。
CREATE TABLE task (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
owner_id BIGINT UNSIGNED NOT NULL,
title VARCHAR(200) NOT NULL,
status VARCHAR(16) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY ix_task_owner_status_created (owner_id, status, created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
各 migration には事前条件、予想される影響、バックアップ点、互換期間、隔離環境で検証したロールバック計画が必要です。DDL が通常の DML と同じように常にトランザクションでロールバックできると仮定しないでください。
CI で無制約に更新するのではなく、レビューしてコミットした lock ファイルからインストールします。
set -euo pipefail
composer validate --strict
composer install --no-interaction --prefer-dist
composer audit
vendor/bin/phpunit --testdox
PHPUnit リリースは選んだ PHP ブランチをサポートする必要があります。一度通るだけでは不十分です。空のデータベース、migration の再実行、同時書き込み、データベース切断、重複要求、無権限ユーザーについて結果を定義してください。
9. 復元とクエリ計画でデータベース技能を証明する
機密データを含まない固定データセットでクエリ基準を作ります。
EXPLAIN
SELECT id, title, status, created_at
FROM task
WHERE owner_id = 42 AND status = 'open'
ORDER BY created_at DESC
LIMIT 50;
計画、サーバーリリース、テーブル定義、統計情報、データ量、実測遅延を保存します。EXPLAIN は証拠の一つにすぎず、推定コストを利用者体験として提示してはいけません。選択したリリースの MySQL EXPLAIN 文書を参照してください。
バックアップは独立した復元の後に初めて証拠になります。この例では権限 0600 のクライアント設定を使い、パスワードをコマンドラインに出しません。restore_check は使い捨ての隔離データベースでなければならず、絶対に本番を指してはいけません。
set -euo pipefail
umask 077
MYSQL_CLIENT_CONFIG='/absolute/path/to/protected-client.cnf'
test -r "$MYSQL_CLIENT_CONFIG"
mysqldump --defaults-extra-file="$MYSQL_CLIENT_CONFIG"
--single-transaction --routines --triggers
app > app-backup.sql
mysql --defaults-extra-file="$MYSQL_CLIENT_CONFIG"
--database restore_check < app-backup.sql
エンジン、テーブル種別、業務上の RPO/RTO に応じて整合性方式を選びます。このコマンドは全ワークロード向けの万能バックアップではありません。バックアップを暗号化し、アクセスを制限し、保持期間を設定し、MySQL Backup and Recoveryまたは選んだ MariaDB リリースの文書に従って復旧訓練を行ってください。
10. 時間、費用、停止条件
| 項目 | 計画範囲 | 開示 |
|---|---|---|
| 8 段階の学習 | 各段階およそ 6~10 時間、合計 48~80 時間 | 日程例にすぎない。経験、言語背景、プロジェクト難度により大きく変化 |
| 有限プロジェクトと証拠 | およそ 20~40 時間 | 本番の法令順守、複雑な運用、高可用性、実際の支払いは含まない |
| ソフトウェアと文書 | PHP、Composer、PHPUnit、MySQL Community/MariaDB 文書は購入せず利用可能 | ホスティング、支援、研修、書籍、商用データベース版は有料の場合がある。契約前に現在の条件を読む |
| 書籍 | 図書館、合法な見本、すでに所有する書籍を先に評価 | 価格、地域、形式、在庫は変わる。予算上限を設け、この記事を理由に購入しない |
チュートリアルがサポート外ランタイムを要求する、例が削除済み API に依存する、バージョンやライセンスを確認できない、出版社の根拠なしにダウンロードサイトしかない、演習が実在個人/顧客データを必要とする、バックアップを復元できない、テストに認可/失敗経路がない、性能結論にデータ量と方法がない場合は停止して再監査してください。
完了とは「5 冊読んだ」ことではありません。空の環境からバージョンを再現し、セキュリティ境界を説明し、テストを通し、migration と復旧を演習し、計画と測定で性能判断を支え、未解決リスクを列挙できることです。
11. リリース前チェックリスト
- [ ] PHP ブランチが公式サポート表にあり、パッチリリース、SAPI、拡張、設定を記録した。
- [ ] MySQL または MariaDB の製品と正確なリリースを固定し、他製品の前提を流用していない。
- [ ]
composer.lockをレビューしてコミットし、空の環境から install、audit、test が通る。 - [ ] すべての外部入力を検証し、SQL は prepared statements、出力は文脈別のエスケープを使う。
- [ ] 認証、認可、セッション、CSRF、レート、エラー経路のテストがある。
- [ ] Migration を複製上で演習し、バックアップを隔離環境で復元して検証した。
- [ ]
EXPLAIN、固定データセット、測定方法、回帰しきい値をまとめて保存した。 - [ ] 認証情報、実データ、内部 URL、バックアップ、ログを公開リポジトリに入れない。
- [ ] 各書籍を ISBN/版で監査し、旧コードは歴史資料としてのみ扱い、本番へ直接転用しない。
- [ ] アフィリエイト、短縮リンク、海賊版 PDF、無許可の表紙、検証不能な購入約束がない。
12. 現在の権威資料
- PHP:サポート対象バージョン
- PHP:過去のリリース
- PHP マニュアル
- PHP:5.6 から 7.0 への移行
- PHP:PDO prepared statements
- Composer:概要
- Composer:lock ファイルと基本的な使い方
- PHP-FIG:PSR 一覧
- PHPUnit マニュアル
- MySQL Reference Manual
- MySQL:Backup and Recovery
- MySQL:EXPLAIN
- MariaDB Server 文書
- OWASP:SQL Injection Prevention
- OWASP:Authentication
- WorldCat
- InformIT:PHP and MySQL Web Development, 4th Edition
- O'Reilly:Programming PHP, 2nd Edition
- O'Reilly:Programming PHP, 4th Edition
- Springer/Apress:The Definitive Guide to MySQL 5
- 教材目録:A Practical Guide to MySQL, 3rd Edition
- Larry Ullman:版履歴
- Pearson:PHP and MySQL for Dynamic Web Sites, 5th Edition
13. 2011 年原文の安全なアーカイブ
以下は source_export の可視本文を完全に保存し、行末空白だけを正規化したうえで、ちょうど 22 個の対象を限定的に置換しています。内訳は、停止した旧サイト 1 件、Taskcity/紹介先 1 件、停止した表紙画像 5 件、bit.ly の短縮アフィリエイト URL 10 箇所(固有短縮 URL は 5 件)、アフィリエイト/追跡パラメーターを含む当当の購入先 5 件です。未変更のエクスポートと Git 履歴には元の値が残っています。
警告:アーカイブ内のレビュー、評価、統計、推薦、職業/富の約束、バージョン主張、購入文は 2011 年の歴史資料であり、現在の事実や助言ではありません。すべてのリンク文字列は外側のコードフェンス内にあり、ダウンロード、購入、インストールの入口として使用してはいけません。
**文章目录**
- [如何学习 PHP 和 MySQL](https://blog.lazying.art#toc-1)
- [《PHP 和 MySQL Web 开发》 (原书第4版)](https://blog.lazying.art#toc-2)
- [《PHP 程序设计》(第2版)](https://blog.lazying.art#toc-3)
- [《MySQL 5 权威指南》(第3版)](https://blog.lazying.art#toc-4)
- [《深入浅出MySQL:数据库开发优化与管理维护》](https://blog.lazying.art#toc-5)
- [《PHP 6 与 MySQL 5 基础教程》](https://blog.lazying.art#toc-6)
- [PHP 和 MySQL Web 开发书籍总结](https://blog.lazying.art#toc-7)
PHP 是世界上使用最广泛的创建动态网站的脚本语言,而 MySQL 则是世界上使用最多的关系型数据库,并且他们都是开源的,我们经常浏览的网站和开源程序就有很多都是基于 PHP 和 MySQL 开发的,如你正在浏览的[白手起家网Ⅰ]([historical inactive legacy-site target redacted])博客使用的 WordPress 博客程序就是基于 PHP 和 MySQL 开发的,更大型的系统如 Facebook 等也是基于 PHP 开发的,所以说 PHP 和 MySQL 是网站开发的利器。
是的,要想成为一个成功的 Web 开发者,那么 PHP 和 MySQL 是必须掌握的技巧之一。根据[Taskcity]([historical Taskcity/referral target redacted])[智城 – 全球软件外包交易管理平台]等的外包平台上的数据统计,由于其方便和部署容易,PHP 和 MySQL 项目一直是需求最多的项目,而真正能够胜任 PHP 和 MySQL 项目的程序员少之又少。所以精通 PHP 和 MySQL 开发,就是掌握了一把成为自由职业者,提高个人财富的钥匙。
Table of Contents
Toggle
- [如何学习 PHP 和 MySQL](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0_PHP_%E5%92%8C_MySQL)
- [《PHP 和 MySQL Web 开发》 (原书第4版)](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E3%80%8APHP_%E5%92%8C_MySQL_Web_%E5%BC%80%E5%8F%91%E3%80%8B_%E5%8E%9F%E4%B9%A6%E7%AC%AC4%E7%89%88)
- [《PHP 程序设计》(第2版)](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E3%80%8APHP_%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E3%80%8B%E7%AC%AC2%E7%89%88)
- [《MySQL 5 权威指南》(第3版)](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E3%80%8AMySQL_5_%E6%9D%83%E5%A8%81%E6%8C%87%E5%8D%97%E3%80%8B%E7%AC%AC3%E7%89%88)
- [《深入浅出MySQL:数据库开发优化与管理维护》](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E3%80%8A%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BAMySQL_%E6%95%B0%E6%8D%AE%E5%BA%93%E5%BC%80%E5%8F%91%E4%BC%98%E5%8C%96%E4%B8%8E%E7%AE%A1%E7%90%86%E7%BB%B4%E6%8A%A4%E3%80%8B)
- [《PHP 6 与 MySQL 5 基础教程》](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#%E3%80%8APHP_6_%E4%B8%8E_MySQL_5_%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B%E3%80%8B)
- [PHP 和 MySQL Web 开发书籍总结](https://blog.lazying.art/en/html/computer_internet/php/221/php%e5%92%8cmysql-web%e5%bc%80%e5%8f%91%e5%8e%9f%e4%b9%a6%e7%ac%ac4%e7%89%88-%e9%ab%98%e6%b8%85%e7%89%88-pdf.html/#PHP_%E5%92%8C_MySQL_Web_%E5%BC%80%E5%8F%91%E4%B9%A6%E7%B1%8D%E6%80%BB%E7%BB%93)
## []如何学习 PHP 和 MySQL
W3Schools 上有非常好的 [PHP 和 MySQL 入门教程](http://www.w3schools.com/php/default.asp),但是要真正精通使用 PHP 和 MySQL 进行 Web 开发,成为高手,还是需要阅读正确的书籍。选对了 PHP 和 MySQL 编程的经典书籍,然后配合平时程序设计工作中的刻苦钻研,成为一名精通 PHP 和 MySQL Web 程序设计的高级程序员并非一件可望不可及的事情。但是如果没有选对正确的书籍,则 PHP 和 MySQL 学习之路就可能面临坎坷。今天我推荐的这些 PHP 和 MySQL Web 开发书籍,都是当初我学习 PHP 和 MySQL 中最经典的书籍,通过这些书籍的学习,我精通了 PHP 和 MySQL 开发,并创建了 [WordPress Jam](http://wpjam.com/) 承接 WordPress 等项目,所以我相信这些书都很值得各位朋友抽空认真一读。
## []《PHP 和 MySQL Web 开发》 (原书第4版)
[
]([historical shortened affiliate target redacted])
《PHP 和 MySQL Web 开发》 (原书第4版),推荐指数:★★★★★
[在卓越购买]([historical shortened affiliate target redacted]) | [在当当购买]([historical affiliate/tracking purchase target redacted])
**《PHP 和 MySQL Web 开发》**是 PHP 和 MySQL 程序员案头必备的一本书籍。可以说,PHP 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书将 PHP 开发与 MySQL 应用相结合,分别对 PHP 和 MySQL 做了深入浅出的分析,不仅介绍 PHP 和 MySQL 的一般概念,而且对 PHP 和 MySQL 的 Web 应用做了较全面的阐述,其中还包括几个经典且实用的例子。本书第四版经过了全面的更新、重写和扩展,包括 PHP 5.3 最新改进的特性(例如更好的错误和异常处理),MySQL 的存储过程和存储引擎,Ajax 技术与 Web 2.0 以及Web应用需要注意的安全问题。 Facebook 和 Yahoo 等使用 PHP 作为主要开发语言的大公司也都视这本书为绝佳的 PHP 学习书籍,可见它是全球所有 PHP 程序员必备的一本书。
## []《PHP 程序设计》(第2版)
[
]([historical shortened affiliate target redacted])
《PHP 程序设计》(第2版),推荐指数:★★★★
[在卓越购买]([historical shortened affiliate target redacted]) | [在当当购买]([historical affiliate/tracking purchase target redacted])
学习 PHP 语言,入门是非常简单,但是要掌握 PHP 精髓,全面精通使用 PHP 则不是容易的事情,**《PHP 程序设计》**就是一本能够让我们全面掌握 PHP 的行业标准书籍,并且这本书的作者就是 PHP 语言创始人 Rasmus Lerdorf ,所以该书包括了 Rasmus Lerdorf 和其他PHP专家的独特见解。《PHP 程序设计》涵盖了 PHP 语言本身所有真正的精华,通过对 PHP 语法的细细梳理,有助于进行全面系统的学习,构建起完整的 PHP 知识体系。书中所有的技术要点(如语法和编程技巧)都用简洁的文字和表达方式来阐述,并附带有正确用法及习惯用法的代码示例,还包含了代码风格技巧和实际开发方面的建议。这些不仅会帮助你成为一名PHP程序员,而且会帮助你成为一名优秀的PHP程序员,这本书值得反复细致地阅读。
## []《MySQL 5 权威指南》(第3版)
[]([historical shortened affiliate target redacted])
《MySQL 5 权威指南》(第3版),推荐指数:★★★★
[在卓越购买]([historical shortened affiliate target redacted]) | [在当当购买]([historical affiliate/tracking purchase target redacted])
数据库设计的不好或者 SQL 执行过慢很可能是网站的瓶颈之一,如果你想你的程序跑的更加稳健,整个网站性能更好,那么《MySQL 5 权威指南》是你必看的书之一,基本上所有 MySQL 的问题的解决办法都能从这本上找到,这绝对是一本好书。《MySQL 5 权威指南》是所有 MySQL 数据库管理员和开发人员的必备参考工具书。 这本书全面深入地介绍了 MySQL 的功能,主要内容包括 MySQL 的一些重要系统管理工具和用户操作界面的使用,MySQL 数据库系统设计的基础知识与用不同语言设计 MySQL 数据库的过程,以及 SQL 语法、工具、选项、 API 应用指南,最大限度地帮助你更快地学习和掌握 MySQL 数据库系统的设计和使用。《MySQL 5 权威指南》覆盖了MySQL 最新 5.0 版本所有的功能特性,如新的程序设计接口(如PHP 5里的mysqli)和新的系统管理工具。
## []《深入浅出MySQL:数据库开发优化与管理维护》
[]([historical shortened affiliate target redacted])
《深入浅出MySQL:数据库开发优化与管理维护》,推荐指数:★★★
[在卓越购买]([historical shortened affiliate target redacted]) | [在当当购买]([historical affiliate/tracking purchase target redacted])
这本由网易司技术部 DBA 组经理和高级 DBA 写的《深入浅出MySQL:数据库开发优化与管理维护》绝对是最佳的 MySQL 实践教材,《深入浅出MySQL:数据库开发优化与管理维护》内容非常详细,包括 MySQL 的基础知识,MySQL 的开发,MySQL 优化,MySQL 管理等,基本把在运行一个大型网站中的 MySQL 中碰到的问题都包含了。由于作者都是大型互联网公司的资深 DBA,这本书不但融入了他们丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有很强的实战性和可操作性,所以非常推荐运维一个大型网站的 DBA 认真看看这本书。
## []《PHP 6 与 MySQL 5 基础教程》
[]([historical shortened affiliate target redacted])
《PHP 6 与 MySQL 5 基础教程》,推荐指数:★★★★
[在卓越购买]([historical shortened affiliate target redacted]) | [在当当购买]([historical affiliate/tracking purchase target redacted])
任何语言都在发展,PHP 也不例外,机会总是垂青那些事先准备好的人,所以作为一个 PHP 程序员,你一定要对 PHP 语言的发展了解,了解最新的 PHP 语言的发展趋势才能你让你利于不败之地。**《PHP 6 与 MySQL 5 基础教程》**就是一本让你未雨绸缪就开始学习 PHP 和 MySQL 新技术的书。支持 Unicode,命名空间等这些现代语言的特性都增加到了 PHP 6 版本之中,你是否准备好学习或者在你的程序兼容这些特性,如果没有准备好,那么赶快购买这本书学习下吧。
## []PHP 和 MySQL Web 开发书籍总结
使用 PHP 和 MySQL Web 开发是一个敏捷开发的过程,开始并不困难,但是越到后面,你会碰到越多的问题和困难。所以一开始选择选择适合自己的学习工具书是不可少的,可以让你事半功倍,而对于已有所成的 PHP 程序员来说,选择对自己现有的 PHP 和 MySQL 知识体系有个很好梳理的书可能让你变得更加强大。
