發新話題

[分享] 《PHP》『MySQL函式庫』

《PHP》『MySQL函式庫』mysql_field_type --- 取得指定欄位的型態

mysql_field_type ---  取得指定欄位的型態

語法 : string mysql_field_type (int result, int field_offset)

說明 :

mysql_field_type( )類似於mysql_field_name( ),參數也一樣,但是此函式所傳回的是型態,這將會是"int","real","string","blob"之一,或是其它,細節請參考MySQL文件。

Example :

<?php

    mysql_connect ("localhost:3306");

    mysql_select_db ("wisconsin");

    $result = mysql_query ("SELECT * FROM onek");

    $fields = mysql_num_fields ($result);

    $rows = mysql_num_rows ($result);

    $i = 0;

    $table = mysql_field_table ($result, $i);

    echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <BR>";

    echo "The table has the following fields <BR>";

    while ($i < $fields) {

            $type = mysql_field_type ($result, $i);

            $name = mysql_field_name ($result, $i);

            $len = mysql_field_len ($result, $i);

            $flags = mysql_field_flags ($result, $i);

            echo $type." ".$name." ".$len." ".$flags."<BR>";

            $i++;

    }

    mysql_close();

?>

相容的mysql_fieldtype( )也可以使用。


TOP

《PHP》『MySQL函式庫』mysql_free_result --- 釋放記憶體

mysql_free_result ---  釋放記憶體

語法 : int mysql_free_result (int result)

說明 :

當在執行程式時,假如您擔心佔用太多記憶體,可以使用此函式來自動釋放佔用的記憶體空間。所有指定的結果 identifier 將會自動地釋放。

相容的mysql_freeresult( )也可以使用。

TOP

《PHP》『MySQL函式庫』mysql_insert_id --- 取得先前INSERT操作的id

mysql_insert_id ---  取得先前INSERT操作的id

語法 : int mysql_insert_id ([int link_identifier])

說明 :

mysql_insert_id( )傳回AUTO_INCREMENTED欄位所產生的id,它將使用給予的 link_identifier傳回最後執行INSERT查詢的ID,如果沒有指定 link_identifier則假定是最後所開啟的連結。

TOP

《PHP》『MySQL函式庫』mysql_list_dbs 列出MySQL伺服器上可用的資料庫

mysql_list_dbs --- 列出MySQL伺服器上可用的資料庫

語法 : int mysql_list_dbs ([int link_identifier])

說明 :

mysql_list_dbs( )將從目前的MySQL daemon傳回包含可用的資料庫的結果指標,使用mysql_tablename( )來橫越(traverse)此結果指標。

相容的mysql_listdbs( )也可以使用。

TOP

《PHP》『MySQL函式庫』mysql_list_fields --- 列出欄位

mysql_list_fields --- 列出欄位

語法 : int mysql_list_fields (string database_name, string table_name [, int link_identifier])

說明 :

mysql_list_fields( )獲得給予的表格名稱其資訊,參數是資料庫名稱和表格名稱,此函式會傳回一結果指標,能給 mysql_field_flags( )、mysql_field_len( )、mysql_field_name( )、mysql_field_type( )使用。

結果identifier是一正數,如果發生錯誤則傳回-1,一個描述錯誤的字串將會放在 $phperrmsg之中,除非是以@mysql_list_fields( )來呼叫函式,則此錯誤字串將會顯示出來。

相容的mysql_listfields( )也可以使用。

TOP

《PHP》『MySQL函式庫』mysql_list_tables --- 列出資料庫中的表格

mysql_list_tables --- 列出資料庫中的表格

語法 : int mysql_list_tables (string database [, int link_identifier])

說明 :

mysql_list_tables( )取一個資料庫名稱且傳回一個結果指標,很像是mysql_db_query( )。mysql_tablename( )將用來從結果指標取出實際的表格名稱。

相容的mysql_listtables( )也可以使用。

TOP

《PHP》『MySQL函式庫』mysql_num_fields --- 取得欄位的數目

mysql_num_fields --- 取得欄位的數目

語法 : int mysql_num_fields (int result)

說明 :

mysql_num_fields( )傳回結果中欄位的數目。

相容的mysql_numfields( )也可以使用。

參考 : mysql_db_query( )  mysql_query( )  mysql_fetch_field( )  mysql_num_rows( )

TOP

《PHP》『MySQL函式庫』mysql_num_rows --- 取得結果中列的數目

mysql_num_rows --- 取得結果中列的數目

語法 : int mysql_num_rows (int result)

說明 :

mysql_num_rows( )傳回結果中列的數目,此指令只對SELECT語法有效,要從INSERT,UPDATE,或是DELETE中獲得列的數目,請使用 mysql_affected_rows( )

相容的mysql_numrows( )也可以使用。

參考 : mysql_db_query( )  mysql_query( )  mysql_fetch_row( )

TOP

《PHP》『MySQL函式庫』mysql_pconnect --- 開啟MySQL伺服器持續連線

mysql_pconnect ---  開啟MySQL伺服器持續連線

語法 : int mysql_pconnect ([string hostname [:port] [:/path/to/socket] [, string username [, string password]]])

說明 :

成功則傳回一正數的MySQL連結identifier,失敗則傳回錯誤訊息。

mysql_connect( )建立MySQL伺服器連結,所有的參數都是非必需的,如果都沒給參數值,則預設上假定是( 'localhost' , 擁有伺服器處理的使用者名稱 , 沒有密碼)。

hostname也可以包含埠號,例如 : "hostname:port"或是socket路徑,例如 : ":/path/to/socket"

注意 : PHP3.0B4中增加了提供":port" , PHP3.0.10中增加了提供":/path/to/socket",你可使用'@'(@mysql_connect( ) )來抑制錯誤時所傳回的訊息。

mysql_pconnect( )與mysql_connect( )很相似,兩者間主要有二個不同之處。

首先,當連結時函式將首先試著去找出相同主機、使用者名稱、密碼的先前已開啟的連結,如果有找到,則此 identifier 將被傳回,來替代開啟一個新的連結。

次之,當程式執行完成後將不會關閉連結到MySQL伺服器,反而會保留下來給之後使用。(mysql_close( )將無法關閉以mysql_pconnect( )所開啟的連結)

TOP

《PHP》『MySQL函式庫』mysql_query --- 送出MySQL查詢

mysql_query ---  送出MySQL查詢

語法 : int mysql_query (string query [, int link_identifier])

說明 :

mysql_query( )送出查詢到伺服器上現行的資料庫,如果 link_identifier沒有指定,則假定是最後開啟的連結,如果是沒有開啟的連結,此函式會試著以mysql_connect( )無任何參數的方式建立一個連結並且使用它。

此查詢字串不該在後面加上分號(;)。

mysql_query( )傳回TRUE(非零)或是FALSE來指出查詢是否成功,傳回一個TRUE的值,表示此查詢是合法的且是伺服器可以執行的,它並不會指出或是傳回關於所影響列的數目。

以下的查詢是語法結構上有錯誤的,因此 mysql_query( )失敗且傳回FALSE。

Example :

<?php

    $result = mysql_query ("SELECT * WHERE 1=1") or die ("Invalid query");

?>

如果my_col在表格my_tb1中不是一個欄位,則以下的查詢是語義上有錯誤的,因此 mysql_query( )失敗且傳回FALSE。

Example :

<?php

    $result = mysql_query ("SELECT my_col FROM my_tbl") or die ("Invalid query");

?>

如果你的查詢字串沒有權限去存取表格,因此 mysql_query( )也會失敗且傳回FALSE。

查詢成功後,你可以呼叫mysql_affected_rows( )來找出DELETE,INSERT,REPLACE, 或是UPDATE 語法所影響列的數目,SELECT 語法 mysql_query( )會傳回一新的結果 identifier,你可以將它傳遞給 mysql_result( )。當查詢完後,你可以呼叫 mysql_free_result( )來釋放資源(resources)。

參考 : mysql_affected_rows( )  mysql_db_query( )  mysql_free_result( )  mysql_result( )  

           mysql_select_db( )  mysql_connect( )

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。