前言
引言
第Ⅰ部分 使用MySQL
第1章 針對MySQL的數據庫設計
1.1 為什么使用關系型數據庫
1.2 討厭的異態(tài)
1.2.1 更新異態(tài)
1.2.2 刪除異態(tài)
1.2.3 插入異態(tài)
1.3 規(guī)范化
1.3.1 第一范式
1.3.2 第二范式
1.3.3 第三范式
1.4 關系的類型
1.4.1 一對多關系
1.4.2 一對一關系
1.4.3 多對多關系
1.5 MySQL不支持的特性
1.5.1 引用完整性
1.5.2 事務
1.5.3 存儲過程
1.6 小結
第2章 創(chuàng)建和修改表的SQL語言
2.1 定義
2.1.1 空值
2.1.2 索引
2.2 create database語句
2.3 use database語句
2.4 create table語句
2.5 列的類型
2.5.1 文本類型
2.5.2 數字類型
2.5.3 日期和時間類型
2.6 創(chuàng)建索引
2.7 表的類型
2.8 alter table語句
2.8.1 更改表名
2.8.2 添加和刪除列
2.8.3 添加和刪除索引
2.8.4 更改列定義
2.9 insert語句
2.10 update語句
2.11 刪除表/數據庫
2.12 show tables
2.13 show columns/show fields
2.14 使用phpMyAdmin
2.15 小結
第3章 使用select語句得到所需的信息
3.1 基本的select語句
3.1.1 where子句
3.1.2 order by
3.1.3 limit
3.1.4 group by和聚合函數
3.2 聯接表
3.2.1 兩個表的聯接(相等聯接)
3.2.2 多表聯接
3.2.3 外聯接
3.2.4 自聯接
3.3 MySQL不支持的SQL標準
3.3.1 聯合
3.3.2 相關子查詢
3.4 小結
第Ⅱ部分 使用PHP
第4章PHP入門——變量
4.1 在腳本內使用簡單的變量
4.1.1 定界字符串
4.1.2 在腳本內分配數組
4.1.3 在腳本中為二維數組賦值
4.2 訪問通過瀏覽器輸入的變量
4.2.1 HTML表單變量
4.2.2 傳遞數組
4.2.3 cookie
4.2.4 會話
4.3 使用內置變量
4.3.1 PHP變量
4.3.2 Apache變量
4.3.3 其他的Web服務器變量
4.4 測試變量
4.4.1 isset( )
4.4.2 empty( )
4.4.3 is_int( )
4.4.4 is_double( )
4.4.5 is_string( )
4.4.6 is_array( )
4.4.7 is_bool( )
4.4.8 is_object( )
4.4.9 gettype( )
4.5 修改變量類型
4.5.1 類型強制轉化
4.5.2 使用settype( )
4.5.3 intval( )、doubleval( )和stringval( )
4.6 可變變量
4.7 小結
第5章 控制結構
5.1 if語句
5.1.1 確定PHP條件的真假
5.1.2 比較運算符
5.1.3 邏輯運算符
5.1.4 復雜的if語句
5.1.5 if ... else語句
5.1.6 if ... elseif語句
5.1.7 if...結構的替換方法
5.2 switch ... case
5.3 循環(huán)
5.3.1 while...
5.3.2 do ...while
5.3.3 for
5.3.4 foreach
5.3.5 continue和break
5.3.6 continue
5.3.7 break
5.4 包含文件
5.5 小結
第6章 PHP的內置函數
6.1 函數基礎
6.1.1 參數
6.1.2 返回值
6.2 函數文檔
6.3 重要的PHP 4函數
6.3.1 MySQL API
6.3.2 字符串處理函數
6.3.3 正則表達式函數
6.3.4 類型轉換函數
6.3.5 數組函數
6.3.6 打印函數
6.3.7 日期/時間函數
6.3.8 文件系統(tǒng)函數
6.3.9 隨機數產生器函數
6.3.10 cURL函數
6.3.11 會話函數
6.3.12 HTTP首部函數
6.3.13 郵件函數
6.3.14 URL函數
6.3.15 輸出緩沖
6.3.16 信息函數
6.4 小結
第7章 編寫結構良好且易讀的代碼
7.1 代碼的縮進格式
7.1.1 代碼塊
7.1.2 函數調用
7.1.3 SQL語句
7.2 包含
7.2.1 include()和require()
7.2.2 include_once()和require_once()
7.3 用戶自定義的函數
7.3.1 函數的基礎
7.3.2 返回值
7.3.3 使用可變數量的參數
7.3.4 變量的作用范圍
7.4 面向對象的程序設計
7.4.1 類
7.4.2 實例化一個對象
7.4.3 繼承
7.5 面向對象的方法與過程代碼的比較
7.6 注釋
7.7 小結
第Ⅲ部分 簡單的應用程序
第8章 具有部分安全性的來賓簿程序——Guestbook2000
8.1 確定應用程序的范圍和設計目標
8.1.1 必要的頁面
8.1.2 需要預防發(fā)生的問題
8.2 設計數據庫
8.3 代碼概述
8.4 代碼分解
8.4.1 可重用的函數
8.4.2 有趣的代碼流
8.5 腳本
8.6 小結
第9章 調查應用程序
9.1 確定應用程序的范圍和設計目標
9.1.1 必要的頁面
9.1.2 需要避免發(fā)生的問題
9.2 設計數據庫
9.3 代碼概述
9.4 代碼分解
9.4.1 可重用代碼
9.5 有趣的代碼流
9.5.1 admin_question.php
9.5.2 admin_get_winner.php
9.5.3 admin_winners.php
9.5.4 CLAIM.PHP
9.6 小結
第Ⅳ部分 較復雜的應用程序
第10章 目錄程序
10.1 確定應用程序的范圍和設計目標
10.1.1 必要的頁面
10.1.2 需要防止發(fā)生的問題
10.2 數據
10.2.1 一種帶缺陷的數據設計
10.2.2 MySQL的怪異
10.2.3 一種更好的數據庫方案
10.3 代碼概述
10.3.1 OO方法
10.3.2 訪問文件系統(tǒng)
10.3.3 上載文件
10.3.4 訪問外部實用程序
10.4 代碼分解
10.4.1 理論上的對象
10.4.2 使用的對象
10.4.3 類
10.4.4 示例腳本
10.5 小結
第11章 內容管理系統(tǒng)
11.1 確定應用程序的范圍和設計目標
11.1.1 必需的頁面
11.1.2 需要避免的問題
11.2 設計數據庫
11.3 代碼概述
11.4 代碼分解
11.4.1 可重用函數
11.5 有趣的代碼流
11.5.1 co ntent/authenticate.php
11.5.2 content/admin_user.php
11.5.3 content/edit_story.php
11.6 小結
第12章 討論組應用程序
12.1 確定應用程序的范圍和設計目標
12.1.1 需要做的工作
12.1.2 需要預防發(fā)生的問題
12.1.3 數據
12.2 代碼概述
12.3 代碼分解
12.3.1 可重用的函數
12.4 其他文件
12.4.1 index.php
12.5 小結
第13章 問題跟蹤系統(tǒng)
13.1 確定應用程序的范圍和設計目標
13.1.1 需要做的工作
13.1.2 需要預防發(fā)生的問題
13.1.3 設計數據庫
13.2 代碼概述
13.3 代碼分解
13.3.1 可以重用的函數
13.3.2 腳本
13.4 小結
第14章 購物車應用程序
14.1 確定應用程序的范圍和設計目標
14.1.1 需要做的工作
14.1.2 需要預防發(fā)生的問題
14.2 數據
14.3 配置概述
14.3.1 對加密和安全進行配置
14.3.2 加密工具和安全工具
14.3.3 配置信用卡授權
14.3.4 配置會話處理
14.4 代碼概述
14.4.1 會話函數
14.4.2 cURL 函數
14.4.3 與信用卡處理方進行交互
14.5 代碼分解
14.5.1 類
14.5.2 腳本
14.7 小結
第Ⅴ部分 附錄
附錄A HTML表單
附錄B PHP/MySQL安裝配置簡要指南
附錄C MySQL實用工具
附錄D MySQL用戶管理
附錄E PHP函數參考
附錄F 正則表達式概覽
附錄G 用戶定義函數
附錄H PHP和MySQL資源
附錄I MySQL函數參考
附錄J CD-ROM上的內容