PHP MySQL 函數-7.13PHP 參考手冊
閱讀 ?·? 發布日期 2019-06-29 08:49 ?·? adminPHP MySQL 簡介
MySQL 函數允許您訪問 MySQL 數據庫服務器。
安裝
為了能夠順利的使用本類函數,必須在編譯 PHP 時添加對 MySQL 的支持。
編譯時,只要使用 --with-mysql[=DIR] 配置選項即可,其中可選的 [DIR] 指向 MySQL 的安裝目錄。
雖然本 MySQL 擴展庫兼容 MySQL 4.1.0 及其以后版本,但是它不支持這些版本提供的額外功能。要使用這些功能,請使用 MySQLi 擴展庫。
如果要同時安裝 mysql 擴展庫和 mysqli 擴展庫,必須使用同一個客戶端庫以避免任何沖突。
在 Linux 系統上安裝
PHP 4
默認開啟了 --with-mysql 選項。此默認行為可以用 --without-mysql 配置選項來禁止。如果啟用 MySQL 而不指定安裝目錄的話,PHP 將使用綁定的 MySQL 客戶端連接庫。
還有其它應用程序使用 MySQL(例如 auth-mysql)的用戶不要用綁定的庫,而要指定 MySQL 的安裝目錄,如這樣:--with-mysql=/path/to/mysql。這將強制 PHP 使用隨 MySQL 安裝的客戶端連接庫,就可以避免任何沖突。
PHP 5+
MySQL 默認未啟用,也沒有綁定的 MySQL 庫。使用 --with-mysql[=DIR] 配置選項來加入 MySQL 的支持。可以從 MySQL 下載頭文件和庫。
在 Windows 系統上安裝
PHP 4
PHP MySQL 擴展已經編譯入 PHP。
PHP 5+
MySQL 默認未啟用,因此必須在 php.ini 中激活 php_mysql.dll 動態連接庫。此外,PHP 還需要訪問 MySQL 客戶端連接庫。PHP 的 Windows 發行版包括了一個 libmysql.dll,為了讓 PHP 能和 MySQL 對話,此文件必須放在 Windows 的系統路徑 PATH 中。
要激活任何 PHP 擴展庫(例如 php_mysql.dll),PHP 指令 extension_dir 要被設為 PHP 擴展庫所在的目錄。PHP 5 下 extension_dir 取值的一個例子是 c:\php\ext。
注釋:如果啟動 web 服務器時出現類似如下的錯誤:"Unable to load dynamic library './php_mysql.dll'",這是因為系統找不到 php_mysql.dll 和 / 或 libmysql.dll。
Runtime 配置
MySQL 函數的行為受到 php.ini 中設置的影響。
MySQL 配置選項:
名稱 | 默認 | 描述 | 可更改 |
---|---|---|---|
mysql.allow_persistent | "1" | 是否允許 MySQL 的持久連接。 | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | 每個進程中最大的持久連接數目。 | PHP_INI_SYSTEM |
mysql.max_links | "-1" | 每個進程中最大的連接數,包括持久連接。 | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | 跟蹤模式。從 PHP 4.3.0 起可用。 | PHP_INI_ALL |
mysql.default_port | NULL | 指定默認連接數據庫的 TCP 端口號。 | PHP_INI_ALL |
mysql.default_socket | NULL | 默認的 socket 名稱。PHP 4.0.1起可用。 | PHP_INI_ALL |
mysql.default_host | NULL | 默認的服務器地址。不適用于SQL安全模式。 | PHP_INI_ALL |
mysql.default_user | NULL | 默認使用的用戶名。不適用于SQL安全模式。 | PHP_INI_ALL |
mysql.default_password | NULL | 默認使用的密碼。不適用于SQL安全模式。 | PHP_INI_ALL |
mysql.connect_timeout | "60" | 連接超時秒數。 | PHP_INI_ALL |
資源類型
在 MySQL 模塊中使用了兩種資源類型。第一種是數據庫的連接句柄,第二種是 SQL 查詢返回的結果集。
PHP MySQL 函數
PHP:指示支持該函數的最早的 PHP 版本。
函數 | 描述 | PHP |
---|---|---|
mysql_affected_rows() | 取得前一次 MySQL 操作所影響的記錄行數。 | 3 |
mysql_change_user() | 不贊成。改變活動連接中登錄的用戶 | 3 |
mysql_client_encoding() | 返回當前連接的字符集的名稱 | 4 |
mysql_close() | 關閉非持久的 MySQL 連接。 | 3 |
mysql_connect() | 打開非持久的 MySQL 連接。 | 3 |
mysql_create_db() | 不贊成。新建 MySQL 數據庫。使用 mysql_query() 代替。 | 3 |
mysql_data_seek() | 移動記錄指針。 | 3 |
mysql_db_name() | 從對 mysql_list_dbs() 的調用返回數據庫名稱。 | 3 |
mysql_db_query() |
不贊成。發送一條 MySQL 查詢。 使用 mysql_select_db() 和 mysql_query() 代替。 |
3 |
mysql_drop_db() |
不贊成。丟棄(刪除)一個 MySQL 數據庫。 使用 mysql_query() 代替。 |
3 |
mysql_errno() | 返回上一個 MySQL 操作中的錯誤信息的數字編碼。 | 3 |
mysql_error() | 返回上一個 MySQL 操作產生的文本錯誤信息。 | 3 |
mysql_escape_string() |
不贊成。轉義一個字符串用于 mysql_query。 使用 mysql_real_escape_string() 代替。 |
4 |
mysql_fetch_array() | 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有。 | 3 |
mysql_fetch_assoc() | 從結果集中取得一行作為關聯數組。 | 4 |
mysql_fetch_field() | 從結果集中取得列信息并作為對象返回。 | 3 |
mysql_fetch_lengths() | 取得結果集中每個字段的內容的長度。 | 3 |
mysql_fetch_object() | 從結果集中取得一行作為對象。 | 3 |
mysql_fetch_row() | 從結果集中取得一行作為數字數組。 | 3 |
mysql_field_flags() | 從結果中取得和指定字段關聯的標志。 | 3 |
mysql_field_len() | 返回指定字段的長度。 | 3 |
mysql_field_name() | 取得結果中指定字段的字段名。 | 3 |
mysql_field_seek() | 將結果集中的指針設定為指定的字段偏移量。 | 3 |
mysql_field_table() | 取得指定字段所在的表名。 | 3 |
mysql_field_type() | 取得結果集中指定字段的類型。 | 3 |
mysql_free_result() | 釋放結果內存。 | 3 |
mysql_get_client_info() | 取得 MySQL 客戶端信息。 | 4 |
mysql_get_host_info() | 取得 MySQL 主機信息。 | 4 |
mysql_get_proto_info() | 取得 MySQL 協議信息。 | 4 |
mysql_get_server_info() | 取得 MySQL 服務器信息。 | 4 |
mysql_info() | 取得最近一條查詢的信息。 | 4 |
mysql_insert_id() | 取得上一步 INSERT 操作產生的 ID。 | 3 |
mysql_list_dbs() | 列出 MySQL 服務器中所有的數據庫。 | 3 |
mysql_list_fields() |
不贊成。列出 MySQL 結果中的字段。 使用 mysql_query() 代替。 |
3 |
mysql_list_processes() | 列出 MySQL 進程。 | 4 |
mysql_list_tables() |
不贊成。列出 MySQL 數據庫中的表。 使用Use mysql_query() 代替。 |
3 |
mysql_num_fields() | 取得結果集中字段的數目。 | 3 |
mysql_num_rows() | 取得結果集中行的數目。 | 3 |
mysql_pconnect() | 打開一個到 MySQL 服務器的持久連接。 | 3 |
mysql_ping() | Ping 一個服務器連接,如果沒有連接則重新連接。 | 4 |
mysql_query() | 發送一條 MySQL 查詢。 | 3 |
mysql_real_escape_string() | 轉義 SQL 語句中使用的字符串中的特殊字符。 | 4 |
mysql_result() | 取得結果數據。 | 3 |
mysql_select_db() | 選擇 MySQL 數據庫。 | 3 |
mysql_stat() | 取得當前系統狀態。 | 4 |
mysql_tablename() | 不贊成。取得表名。使用 mysql_query() 代替。 | 3 |
mysql_thread_id() | 返回當前線程的 ID。 | 4 |
mysql_unbuffered_query() | 向 MySQL 發送一條 SQL 查詢(不獲取 / 緩存結果)。 | 4 |
PHP MySQL 常量
在 PHP 4.3.0 以后的版本中,允許在 mysql_connect() 函數和 mysql_pconnect() 函數中指定更多的客戶端標記:
PHP:指示支持該常量的最早的 PHP 版本。
常量 | 描述 | PHP |
---|---|---|
MYSQL_CLIENT_COMPRESS | 使用壓縮的通訊協議。 | 4.3 |
MYSQL_CLIENT_IGNORE_SPACE | 允許在函數名后留空格位。 | 4.3 |
MYSQL_CLIENT_INTERACTIVE | 在關閉連接前所允許的交互超時非活動時間。 | 4.3 |
MYSQL_CLIENT_SSL | 使用 SSL 加密(僅在 MySQL 客戶端庫版本為 4+ 時可用)。 | 4.3 |
mysql_fetch_array() 函數使用一個常量來表示所返回數組的類型:
常量 | 描述 | PHP |
---|---|---|
MYSQL_ASSOC | 返回的數據列使用字段名作為數組的索引名。 | |
MYSQL_BOTH | 返回的數據列使用字段名及數字索引作為數組的索引名。 | |
MYSQL_NUM |
返回的數據列使用數字索引作為數組的索引名。 索引從 0 開始,表示返回結果的第一個字段。 |
為您推薦
- 襯塑管網站建設_網頁定制制作與開發 2020-01-12
- 保溫管網站建設_網頁定制制作與開發 2020-01-12
- 玻璃管網站建設_網頁定制制作與開發 2020-01-12
- 鍍鋅方矩管網站建設_網頁定制制作與 2020-01-12
- PVC管材網站建設_網頁定制制作與開發 2020-01-12