標準數據庫操作流程
";
}
mysql_free_result($res);
mysql_close($link);
?>
分層錯誤處理模式 (生產必須)
SQL調試三板斧
- 變量化SQL:
$sql = "SELECT * FROM $table WHERE $col > $val"; → echo $sql; 檢查拼寫/變量注入
- 命令行驗證:複製輸出SQL到
mysql>終端執行,排除權限/語法問題
- EXPLAIN分析:
EXPLAIN SELECT ... 檢查索引使用、掃描行數
常見錯誤自查清單
| 錯誤現象 | 可能原因 | 排查方向 |
| 空白頁/無輸出 | PHP語法錯誤/致命錯誤 | 開啟display_errors/查日志 |
| Connection failed | 服務未啟動/端口/防火牆/賬戶 | telnet 3306 / 查error log |
| Access denied | 用戶名/密碼/主機匹配錯誤 | 檢查mysql.user表 |
| Table doesn't exist | 庫名/表名拼寫/大小寫敏感 | Linux區分大小寫 |
| 資源釋放警告 | 未mysql_free_result/close | 規範釋放流程 |
現代化遷移提醒
- 棄用mysql_*,遷移PDO/MySQLi
- 使用Composer管理依賴,引入PDO包裝庫
- 啟用嚴格類型、PSR規範