在寫新的程式碼時,不建議使用本擴充。您應該使用 mysqli 或 PDO_MySQL 擴充功能來代替。
安裝
編譯時,只要使用 --with-mysql[=DIR] 設定選項即可,其中可選的 [DIR] 指向 MySQL 的安裝目錄。
雖然本 MySQL 擴充函式庫相容於 MySQL 4.1.0 及其以後版本,但它不支援這些版本提供的額外功能。若要使用這些功能,請使用 MySQLi 擴充程式庫。
如果要同時安裝 mysql 擴充功能庫和 mysqli 擴充函式庫,必須使用同一個客戶端函式庫以避免任何衝突。
範例
這個簡單的範例展示如何連接、執行一個查詢,列印結果集後斷開 MySQL 資料庫的連線。
Example #1 MySQL 擴充概述範例
<?php // 连接、选择数据库 $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') or die('Could not connect: ' . mysql_error()); echo 'Connected successfully'; mysql_select_db('my_database') or die('Could not select database'); // 执行 SQL 查询 $query = 'SELECT * FROM my_table'; $result = mysql_query($query) or die('Query failed: ' . mysql_error()); // 以 HTML 打印查询结果 echo "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "\t<tr>\n"; foreach ($line as $col_value) { echo "\t\t<td>$col_value</td>\n"; } echo "\t</tr>\n"; } echo "</table>\n"; // 释放结果集 mysql_free_result($result); // 关闭连接 mysql_close($link); ?>
MySQL 函數
大多數 MySQL 函數的最後一個可選參數是 link_identifier。 如果沒有提供這個參數,則會使用最後一個開啟的連線。 若不存在這個最後打開的連接,則會嘗試用 php.ini 裡定義的預設參數來連接。 如果沒有成功連接,函數會回傳 FALSE。
mysql_affected_rows — 取得前一次MySQL 操作所影響的記錄行數
mysql_client_encoding — 傳回字元集的名稱
my_close — _db — 新建一個MySQL 資料庫
mysql_data_seek — 移動內部結果的指標
mysql_db_name — 取得結果資料
mysql_db_query — 傳送一個MySQL—
mysql_drdrop_myno_drdrop)。操作中的錯誤訊息的數字編碼mysql_error — 傳回上一個MySQL 操作產生的文字錯誤訊息mysql_escape_string — 轉義一個字串用於mysql_querymysql_fetch_array — 從結果集mysql_fetch_assoc — 從結果集中取得一行作為關聯數組
mysql_fetch_field — 從結果集中取得列資訊並作為關聯數組
mysql_fetch_lengths — 取得列資訊並作為物件傳回
mysql_fetch_lengths — 取得結果集中式mysql_fetch_row — 從結果集中取得一行作為枚舉數組
mysql_field_flags — 從結果中取得並指定欄位關聯的標誌
mysql_field_len — 傳回指定欄位的長度
eek_mysql_gsql_mysql_namename—取值的值將結果集中的指標設定為建立的欄位偏移量mysql_field_table — 取得指定欄位所在的表名mysql_field_type — 取得結果集中指定欄位的類型mysql_free_result 釋放結果集中指定欄位的類型mysql_free_result 釋放結果端資訊mysql_get_host_info — 取得MySQL 主機資訊mysql_get_proto_info — 取得MySQL 協定資訊mysql_get_server_info sql— 取得MySQL 協定資訊mysql_get_server_info sql— 取得SQL 協定資訊mysql_get_server_info sql—比施取得上一步INSERT 操作產生的ID mysql_list_dbs — 列出MySQL 伺服器中所有的資料庫mysql_list_fields — 列出MySQL 結果中的欄位mysql_list_processes — 列出MySQL 程式mysql_list_list_processes — 列出MySQL—數目
mysql_num_rows — 取得結果集中行的數目
mysql_pconnect — 開啟一個到MySQL 伺服器的持久連線
mysql_sql — Ping 一個伺服器連接,如果沒有連線則是重新連線
ing — 轉義SQL 語句中使用的字串中的特殊字符,並考慮到連接的當前字符集mysql_result — 取得結果資料mysql_select_db — 選擇MySQL 資料庫sql_set_charsetset 端的字符集系統狀態mysql_tablename — 取得表名mysql_thread_id — 傳回目前執行緒的IDmysql_unbuffered_query — 向 MySQL 發送一條 SQL 查詢,並沒有取得和快取結果的行