雖然官方建議改用 mysqli 或 PDO,但舊專案仍大量使用 mysql_* 函數族。本文整理 10 個最常用函數的簽名、用途與實戰範例,方便快速查閱。
| 函數 | 用途 | 關鍵範例 |
|---|---|---|
mysql_connect | 建立非持久連線 | $link = mysql_connect("localhost","root","") or die(mysql_error()); |
mysql_pconnect | 建立持久連線(長連線) | $link = mysql_pconnect("localhost","root",""); |
mysql_select_db | 選擇預設資料庫 | mysql_select_db("example",$link) or die("無法使用 example"); |
mysql_query | 送出 SQL 指令 | $result = mysql_query("SELECT * FROM users"); |
mysql_fetch_array | 取得一列關聯/數字陣列 | while($row = mysql_fetch_array($result, MYSQL_BOTH)) { ... } |
mysql_num_rows | 取得 SELECT 結果列數 | $n = mysql_num_rows($result); |
mysql_affected_rows | 取得 UPDATE/INSERT/DELETE 影響列數 | echo mysql_affected_rows(); |
mysql_insert_id | 取得上一步 AUTO_INCREMENT 值 | echo mysql_insert_id(); |
mysql_error | 取得最近一次錯誤訊息 | die("Error: ".mysql_error()); |
mysql_close | 關閉連線 | mysql_close($link); |
mysql_query 後務必檢查回傳值,失敗時輸出 mysql_error()。mysqli(程序式/物件導向)或 PDO,支援預處理語句防止 SQL 注入。mysql_* 函數自 PHP 5.5 棄用,PHP 7.0 已移除。