PHP數據庫擴展之原生MySQL API
在寫新的代碼時,不推薦使用本擴展。您應該使用?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 'tt<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?— 返回字符集的名稱mysql_close?— 關閉 MySQL 連接mysql_connect?— 打開一個到 MySQL 服務器的連接mysql_create_db?— 新建一個 MySQL 數據庫mysql_data_seek?— 移動內部結果的指針mysql_db_name?— 取得結果數據mysql_db_query?— 發送一條 MySQL 查詢mysql_drop_db?— 丟棄(刪除)一個 MySQL 數據庫mysql_errno?— 返回上一個 MySQL 操作中的錯誤信息的數字編碼mysql_error?— 返回上一個 MySQL 操作產生的文本錯誤信息mysql_escape_string?— 轉義一個字符串用于 mysql_querymysql_fetch_array?— 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有mysql_fetch_assoc?— 從結果集中取得一行作為關聯數組mysql_fetch_field?— 從結果集中取得列信息并作為對象返回mysql_fetch_lengths?— 取得結果集中每個輸出的長度mysql_fetch_object?— 從結果集中取得一行作為對象mysql_fetch_row?— 從結果集中取得一行作為枚舉數組mysql_field_flags?— 從結果中取得和指定字段關聯的標志mysql_field_len?— 返回指定字段的長度mysql_field_name?— 取得結果中指定字段的字段名mysql_field_seek?— 將結果集中的指針設定為制定的字段偏移量mysql_field_table?— 取得指定字段所在的表名mysql_field_type?— 取得結果集中指定字段的類型mysql_free_result?— 釋放結果內存mysql_get_client_info?— 取得 MySQL 客戶端信息mysql_get_host_info?— 取得 MySQL 主機信息mysql_get_proto_info?— 取得 MySQL 協議信息mysql_get_server_info?— 取得 MySQL 服務器信息mysql_info?— 取得最近一條查詢的信息mysql_insert_id?— 取得上一步 INSERT 操作產生的 IDmysql_list_dbs?— 列出 MySQL 服務器中所有的數據庫mysql_list_fields?— 列出 MySQL 結果中的字段mysql_list_processes?— 列出 MySQL 進程mysql_list_tables?— 列出 MySQL 數據庫中的表mysql_num_fields?— 取得結果集中字段的數目mysql_num_rows?— 取得結果集中行的數目mysql_pconnect?— 打開一個到 MySQL 服務器的持久連接mysql_ping?— Ping 一個服務器連接,如果沒有連接則重新連接mysql_query?— 發送一條 MySQL 查詢mysql_real_escape_string?— 轉義 SQL 語句中使用的字符串中的特殊字符,并考慮到連接的當前字符集mysql_result?— 取得結果數據mysql_select_db?— 選擇 MySQL 數據庫mysql_set_charset?— 設置客戶端的字符集mysql_stat?— 取得當前系統狀態mysql_tablename?— 取得表名mysql_thread_id?— 返回當前線程的 IDmysql_unbuffered_query?— 向 MySQL 發送一條 SQL 查詢,并不獲取和緩存結果的行相關文章:
