MySQL數據庫函數詳解(1)
(1) int MySQL_affected_rows([int link_id]);
在給定的連接中,返回由最近的DELETE、INSERT、REPLACE或者UPDATE語句所作用的行數。如果沒有行 被修改,則MySQL_affected_rows()返回0,如果出現錯誤,則返回-1。
在SELECT查詢之後,MySQL_affected_rows()返回所選擇的行數。但一般是與SELECT語句一道使用。
(2) int MySQL_close(int[link_id]);
關閉由link_id標識的與MySQL服務器的連接。如果沒有指定連接,則mysql_close()關閉最近打開的連接。如果成功,則mysql_close()返回真,失敗則返回假。對由mysql_pconnect()打開的永久連接,mysql_close()忽略相應的關閉請求,只是返回值。如果要關閉一個連接,就應該用mysql_connect()而不是MySQL_pconnect()來打開它。
(3) int MySQL_connect(string [hostname] [:port], string [username], string [passWord]);
本函式建立與 MySQL 伺服器的連線。其中所有的參數都可省略。當使用本函式卻不加任何參數時,參數 hostname 的內定值為 localhost、參數 username 的內定值為 PHP 執行行程的擁有者、參數 passWord 則為空字串 (即沒有密碼)。而參數 hostname 後面可以加冒號與埠號,代表使用那個埠與 MySQL 連接。當然在使用資料庫時,早點使用 MySQL_close() 將連線關掉可以節省資源。
(4) int MySQL_create_db(string db_name [, int link_id]);
告訴由link_id標識的MySQL服務器用給定的名稱來創建數據庫。如果數據庫創建成功,則返回真;如果出現錯誤,則返回假。必須在數據庫有創建它的CREATE權限。可能利用mysql_query()較利用MySQL_create_db()發布CREATE DATABASE 語句更為適合。
(5) int MySQL_data_seek(int result_id, int row_num);
由SELECT查詢返回的每個結果集都有一個行游標,指示下一個提取行的函數(mysql_fetch_array()、mysql_fetch_object()或者mysql_fetch_row())調用將返回哪一行。mysql_data_seek()將給定結果集的指針設置到給定的行。行號的范圍為0到mysql_num_rows()-1。如果行號合法,則MySQL_data_seek()返回真,否則返回假。
MySQL數據庫函數詳解(2)
(6) int MySQL_db_query(string db_name, string query [, int link_id]);
MySQL_db_query()除了提取一個額外的數據庫名稱參數,並在執行查詢之前使它成為缺省的數據庫為,與MySQL_query()類似。
(7) int MySQL_drop_db(string db_name, int [link_id]);
告訴由link_id標識的MySQL服務器用給定的名稱來刪除數據庫。如果數據庫刪除成功,則返回真;如果出現錯誤,則返回假。必須有對數據庫進行刪除的DROP權限。
要小心這個函數;如果刪除數據庫,它就不存在了,且不能恢復。
使用mysql_query()較使用MySQL_drop_db()發布DROP DATABASE 語句更為適合。
(8) int MySQL_errno(int [link_id]);
對於給定的連接,返回含有最近返回狀態的與MySQL相關的函數的錯誤號。零值意味著未出現錯誤。
(9) string MySQL_error(int [link_id]);
對於給定的連接,返回含有最近返回狀態的與MySQL相關的函數的錯誤消息字符串。空值意味著未出現錯誤。
(10)array MySQL_fetch_array(int result, int [result_typ]);
本函數用來將查詢結果 result 拆到陣列變數中。若 result 沒有資料,則傳回 false 值。而本函式可以說是 MySQL_fetch_row() 的加強函式,除可以將傳回列及數字索引放入陣列之外,還可以將文字索引放入陣列中。
若是好幾個傳回欄位都是相同的文字名稱,則最後一個置入的欄位有效,解決方法是使用數字索引或者為這些同名的欄位 (column) 取別名 (alias)。值得注意的是使用本函式的處理速度其實不會比mysql_fetch_row() 函式慢,要用哪個函式還是看使用的需求決定。參數 result_typ 是一個常數值,有以下幾種常數 MYSQL_ASSOC、MYSQL_NUM 與 MySQL_BOTH。
MySQL數據庫函數詳解(3)
(11) object MySQL_fetch_fIEld(int result [,int col_num]);
返回結果集中給定列的相關元數據信息,如果沒有這樣的列,則返回假。如果省略col_num,則對MySQL_fetch_fIEld()的後繼調用返回結果集後續列的信息。如果不再有剩余的列。則返回值為假。
如果指定了col_num,則其取值范圍為0到mysql_num_fIElds()-1。在此情況下,MySQL_num_fIElds()返回給定列的相關信息,如果col_num超出范圍,返回假。
(12) array MySQL_fetch_lengths(int result);
本函式將 MySQL_fetch_row() 處理過的最後一列資料的各欄位資料最大長度放在陣列變數之中。若執行失敗則傳回 false 值。傳回陣列的第一筆資料索引值是 0。
(13) object MySQL_fetch_object(int result_id [, int result_typ]);
本函式用來將查詢結果 result 拆到物件變數中。使用方法和 MySQL_fetch_array() 幾乎相同,不同的地方在於本函式傳回資料是物件而不是陣列。若 result 沒有資料,則傳回 false 值。另外值得注意的地方是,取回的物件資料的索引只能是文字而不能用數字,這是因為物件的特性。物件資料的特性中所有的屬性(property) 名稱都不能是數字,因此只好乖乖使用文字字串當索引了。
參數 result_typ是一個常數值,有以下幾種常數 MYSQL_ASSOC、MYSQL_NUM 與 MYSQL_BOTH。關於速度方面,本函式的處理速度幾乎和mysql_fetch_row() 及 MySQL_fetch_array() 二函式差不多,要用哪個函式還是看使用的需求決定。
(14) array MySQL_fetch_row(int result);
作為一個數組返回給定結果集的下一行,如果沒有更多的行,則返回假。
列值可作為數組元素訪問,在0到MySQL_num_fIElds()-1范圍內使用列索引。
(15) string MySQL_field_name(int result, int fIEld_index);
返回結果集的給定列的名稱。
col_num 的范圍為0到MySQL_num_fIElds()-1.
MySQL數據庫函數詳解(4)
(16) int MySQL_field_seek(int result, int fIEld_offset);
為隨後的mysql_fetch_fIEld()調用設置索引。發布沒有明確列號的MySQL_fetch_fIEld()的下一次調用,將返回列col_num的信息。如果搜索成功,返回真,否則返回假。
col_num的范圍為0到MySQL_num_fIElds()-1.
(17) string MySQL_fIEld_table(int result_id, int col_num);
返回結果集
您正在看的MySQL教程是:MySQL數據庫函數詳解(目錄)。給定列的表名。對於計算列,此名為空。
col_num的范圍為0到MySQL_num_fIElds()-1.
(18) string MySQL_fIEld_type(int result_id, int col_num);
返回結果集給定列的類型名。類型名敬請等待參考本人的另外“MySQL列類型參考”。
col_num的范圍為0到MySQL_num_fIElds()-1.
(19) string MySQL_fIEld_flags(int result_id, int col_num);
作為字符串返回結果集中給定列的相關元數據信息,如果出現錯誤,則返回假。這個字符串由以空格分開的詞組成,說明哪個列的標記值為真。對於假的標記,在字符串中給出相應的詞。
col_num的范圍為0到MySQL_num_fIElds()-1.
(20
) int MySQL_field_len(int result, int fIEld_offset);
返回結果集給定列中值可能的最大長度。
col_num的范圍為0到MySQL_num_fIElds()-1.