首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP 操作 MySQL 基礎 API 完整速查:連線、查詢、結果集、錯誤處理

     編輯:MySQL 資料庫相關知識

1. 非持久連線

resource mysql_connect(
  string $server [, string $username [, string $password [, bool $new_link [, int $client_flags]]]]
)
  • 成功返回資源句柄,失敗返回 NULL
  • new_link=FALSE(預設):相同參數復用連線;TRUE:強制新建
  • client_flags:MYSQL_CLIENT_COMPRESS、MYSQL_CLIENT_IGNORE_SPACE、MYSQL_CLIENT_INTERACTIVE

2. 持久連線

resource mysql_pconnect(
  string $server [, string $username [, string $password [, int $client_flags]]]
)
  • mysql_close() 不會關閉
  • 腳本結束不自動釋放,存入 PHP 連線池,同參數下次復用

3. 關閉連線

bool mysql_close([resource $link_identifier])

4. 選擇資料庫

bool mysql_select_db(string $database_name [, resource $link_identifier])

5. 執行 SQL

resource mysql_query(string $query [, resource $link_identifier])
  • SELECT/SHOW/EXPLAIN/DESCRIBE/DESC 返回結果集資源
  • 其他返回 TRUE/FALSE

6. 獲取結果集

mysql_fetch_array

array mysql_fetch_array(resource $result [, int $result_type])
  • MYSQL_ASSOC:關聯索引(欄位名)
  • MYSQL_NUM:數字索引
  • MYSQL_BOTH:雙重索引(預設)
  • 無資料返回 NULL,配合 while 遍歷

對應簡寫函數

  • mysql_fetch_row() ≡ MYSQL_NUM
  • mysql_fetch_assoc() ≡ MYSQL_ASSOC

mysql_fetch_object

object mysql_fetch_object(resource $result)

以物件屬性形式返回行,同樣返回 NULL 結束。

7. 取得最後自增 ID

int mysql_insert_id([resource $link_identifier])

8. 影響行數

int mysql_affected_rows([resource $link_identifier])

9. 錯誤處理

int mysql_errno([resource $link_identifier])
string mysql_error([resource $link_identifier])

10. 完整範例

<?php
$server = "127.0.0.1:3306";
$user   = "root";
$pass   = "123456";
$db     = "votesystem";

$link = @mysql_connect($server, $user, $pass);
if (!$link) { die("連線失敗
"); } echo "連線成功
"; if (!mysql_select_db($db, $link)) { die("選庫失敗
"); } echo "選庫成功
"; $sql = "SELECT * FROM voteitem"; $res = mysql_query($sql, $link); echo "結果集類型: " . gettype($res) . "
"; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { print_r($row); echo "
"; } mysql_data_seek($res, 0); mysql_free_result($res); if (!@mysql_close($link)) { die("關閉失敗
"); } echo "關閉成功
"; ?>
注意: mysql_* 系列已於 PHP 7.0 移除,新專案請改用 mysqli 或 PDO。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved