• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    MySQL數據庫函數詳解

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 8次 | 進入軟件測試論壇討論

    領測軟件測試網


    mysql_affected_rows([int link_id]);
    在給定的連接中,返回由最近的DELETE、INSERT、REPLACE或者UPDATE語句所作用的行數。如果沒有行

    被修改,則mysql_affected_rows()返回0,如果出現錯誤,則返回-1。
    在SELECT查詢之后,mysql_affected_rows()返回所選擇的行數。但一般是與SELECT語句一道使用

    mysql_num_rows().

    使用范例:
    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("samp_db") or die("Could not select database");
    $query="INSERT INTO

    member(last_name,first_name,expiration)"."VALUES('Brown','Marcia','2002-6-3')";
    $result=mysql_query($query) or die("Query failed");
    printf("%d row%s insertedn",mysql_affected_rows(),mysql_affected_rows()==1?" ":"s");
    ?>

    (2) int mysql_close(int[link_id]);
    關閉由link_id標識的與MySQL服務器的連接。如果沒有指定連接,則mysql_close()關閉最近打開的連

    接。如果成功,則mysql_close()返回真,失敗則返回假。對由mysql_pconnect()打開的永久連接,

    mysql_close()忽略相應的關閉請求,只是返回值。如果要關閉一個連接,就應該用mysql_connect()而不是

    mysql_pconnect()來打開它。

    使用范例:

    <?php
    上一篇      目錄      下一篇=mysql_connect("localhost","sunsoft","suixiang") or die("Could not connect");
    print("Connected successfully");
    mysql_close(上一篇      目錄      下一篇);
    ?>

    (3) int mysql_connect(string [hostname] [:port], string [username], string [password]);
    本函式建立與 MySQL 伺服器的連線。其中所有的參數都可省略。當使用本函式卻不加任何參數時,參

    數 hostname 的內定值為 localhost、參數 username 的內定值為 PHP 執行行程的擁有者、參數 password 則

    為空字串 (即沒有密碼)。而參數 hostname 后面可以加冒號與埠號,代表使用那個埠與 MySQL 連接。當然在

    使用資料庫時,早點使用 mysql_close() 將連線關掉可以節省資源。

    使用范例

    這是一位未具名網友提供的范例 (18-Feb-1999)
    <?php
    $dbh = mysql_connect('localhost:3306','mcclain','standard');
    mysql_select_db('admreqs');
    $query = "insert into requests(date, request, email, priority,status) values

    (NOW(),'$description', '$email', '$priority', 'NEW')";
    $res = mysql_query($query, $dbh);
    $query = "select max(id) from requests";
    $res = mysql_query($query, $dbh);
    $err = mysql_error();
    if($err){
    echo "發生錯誤,請通知<a href=mailto:webmaster@my.site>站長</a>";
    }
    $row = mysql_fetch_row($res);
    echo "未來您使用的號碼為: ".$row[0];
    ?>

    (4) int mysql_create_db(string db_name [, int link_id]);
    告訴由link_id標識的MySQL服務器用給定的名稱來創建數據庫。如果數據庫創建成功,則返回真;如

    果出現錯誤,則返回假。必須在數據庫有創建它的CREATE權限。
    可能利用mysql_query()較利用mysql_create_db()發布CREATE DATABASE 語句更為適合。
    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang"); or die("Could not connect");
    if(mysql_create_db("my_db"))
    print("Database created successfullyn");
    else
    print("Error creating database:%sn",mysql_error());
    ?>

    由SELECT查詢返回的每個結果集都有一個行游標,指示下一個提取行的函數(mysql_fetch_array()、mysql_fetch_object()或者mysql_fetch_row())調用將返回哪一行。mysql_data_seek()將給定結果集的指針設置到給定的行。行號的范圍為0到mysql_num_rows()-1。如果行號合法,則mysql_data_seek()返回真,否則返回假。
    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("samp_db") or die("Could not select database");
    $query="SELECT last_name,first_name FROM president");
    $result=mysql_query($query) or die("Query failed");
    for($i=mysql_num_rows($result)-1;$i>=0;$i-)
    {
    if(!mysql_data_seek($result,$i);
    {
    printf("Cannot seek to row %dn",$i);
    continue;
    }
    if(!$row=mysql_fetch_object($result)))
    continue;
    printf("%d %s<BR>n",$row->last_name,$row->first_name);
    }
    mysql_free_result($result);
    ?>

    (6) int mysql_db_query(string db_name, string query [, int link_id]);
    mysql_db_query()除了提取一個額外的數據庫名稱參數,并在執行查詢之前使它成為缺省的數據庫為,與mysql_query()類似。

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    print("Connected successfully");
    $query="SELECT * FROM president";
    $result=mysql_db_query("samp_db",$query) or die("Query failed");
    ?>

    (7) int mysql_drop_db(string db_name, int [link_id]);
    告訴由link_id標識的MySQL服務器用給定的名稱來刪除數據庫。如果數據庫刪除成功,則返回真;如果出現錯誤,則返回假。必須有對數據庫進行刪除的DROP權限。
    要小心這個函數;如果刪除數據庫,它就不存在了,且不能恢復。
    使用mysql_query()較使用mysql_drop_db()發布DROP DATABASE 語句更為適合。
    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    if(mysql_drop_db("my_db"))
    print("Database dropped successfullyn");
    else
    printf("Error dropping database:%sn",mysql_error());
    ?>

    (8) int mysql_errno(int [link_id]);

    對于給定的連接,返回含有最近返回狀態的與MySQL相關的函數的錯誤號。零值意味著未出現錯誤。

    使用范例

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    print("Connected successfully");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed,error code=".mysql_errno());
    ?>

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    print("Connected successfully");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("query failed,error message=".mysql_error());
    ?>

    (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。
    使用范例

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT last_name,first_name FROM president";
    $result=mysql_query($query) or die("Query failed");
    while($row=mysql_fetch_array($result))
    {
    printf("%s %s<BR>
    ",$row[0],$row[1]);
    printf("%s %s<BR>
    ",$row["last_name"],$row["first_name"]);
    }
    mysql_free_result($result);

    ?>

    (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超出范圍,返回假。
    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("information for column %d:<BR>
    ",$i);
    $meta=mysql_fetch_field($result);
    if(!$meta)
    {
    print("No information available<BR>
    ");
    continue;
    }
    print("<PRE>
    ");
    printf("blob: %s
    ",$meta->blob);
    printf("max_length: %s
    ",$meta->max_length);
    printf("multiple_key: %s
    ",$meta->multiple_key);
    printf("name: %s
    ",$meta->name);
    printf("not_null: %s
    ",$meta->not_null);
    printf("numeric: %s
    ",$meta->numeric);
    printf("primary_key: %s
    ",$meta->primary_key);
    printf("table: %s
    ",$meta->table);
    printf("type: %s
    ",$meta->type);
    printf("unique_key: %s
    ",$meta->unique_key);
    printf("unsigned: %s
    ",$meta->unsigned);
    printf("zerofill: %s
    ",$meta->zerofill);
    print("</PRE>
    ");
    }
    ?>

    (12) array mysql_fetch_lengths(int result);
    本函式將 mysql_fetch_row() 處理過的最后一列資料的各欄位資料最大長度放在陣列變數之中。若執行失敗則傳回 false 值。傳回陣列的第一筆資料索引值是 0。

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT * FROM president" or die("Query failed");
    $row_num=0;
    while(mysql_fetch_row($result))
    {
    ++$row_num;
    printf("Lengths of values in row %d:<BR>
    ",$row_num);
    $len=mysql_fetch_lengths($result);
    if(!$len)
    {
    print("No information available<BR>
    ");
    break;
    }
    print("<PRE>
    ");
    for($i=0;$i<mysql_num_fields($result);$i++)
    printf("Column %d: %s
    ",$i,$len[$i]);
    print("</PRE>
    ");
    }
    ?>

    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() 二函式差不多,要用哪個函式還是看使用的需求決定。

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT last_name,first_name FROM president";
    $result=mysql_query($query) or die("Query failed");
    while($row=mysql_fetch_object($result))
    printf("%s %s<BR>
    ",$row->last_name,$row->first_name);
    mysql_free_result($result);
    ?>

    (14) array mysql_fetch_row(int result);
    作為一個數組返回給定結果集的下一行,如果沒有更多的行,則返回假。列值可作為數組元素訪問,在0到mysql_num_fields()-1范圍內使用列索引。

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT last_name,first_name FROM president";
    $result=mysql_query($query) or die("Query failed");
    while($row=mysql_fetch_row($result))
    printf("%s %s<BR>
    ",$row[0],$row[1]);
    mysql_free_result($result);
    ?>

    (15) string mysql_field_name(int result, int field_index);
    返回結果集的給定列的名稱。
    col_num 的范圍為0到mysql_num_fields()-1.

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("Name of column %d:",$i);
    $name=mysql_field_name($result,$i);
    if(!$name)
    print("No name available<BR>
    ");
    else
    print("$name<BR>
    ");
    }
    ?>

    (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.

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db") or die("Could not select database");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("Information for column %d:<BR>
    ",$i);
    if(!mysql_field_seek($result,$i))
    {
    print("Cannot seek to colum<BR>
    ");
    continue;
    }
    $meta=mysql_fetch_field($result,$i);
    if(!$meta)
    {
    print("No information available<BR>
    ");
    continue;
    }
    print("<PRE>
    ");
    printf("blob: %s
    ",$meta->blob);
    printf("max_length: %s
    ",$meta->max_length);
    printf("multiple_key: %s
    ",$meta->multiple_key);
    printf("name: %s
    ",$meta->name);
    printf("not_null: %s
    ",$meta->not_null);
    printf("numeric: %s
    ",$meta->numeric);
    printf("primary_key: %s
    ",$meta->primary_key);
    printf("table: %s
    ",$meta->table);
    printf("type: %s
    ",$meta->type);
    printf("unique_key: %s
    ",$meta->unique_key);
    printf("unsigned: %s
    ",$meta->unsigned);
    printf("zerofill: %s
    ",$meta->zerofill);
    print("</PRE>
    ");
    }
    ?>

    (int result_id, int col_num);
    返回結果集給定列的表名。對于計算列,此名為空。
    col_num的范圍為0到mysql_num_fields()-1.

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    print("column $d:",$i);
    printf("Name %s
    ",mysql_field_name($result,$i));
    printf("Table %s
    ",mysql_field_nmae($result,$i));
    print"<BR>
    ";
    ?>

    (18) string mysql_field_type(int result_id, int col_num);
    返回結果集給定列的類型名。類型名敬請等待參考本人的另外“MySQL列類型參考”。
    col_num的范圍為0到mysql_num_fields()-1.

    <?php
    上一篇      目錄      下一篇=pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db");
    $query="SELECT * FROM president";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("colum %d:",$i);
    printf("Name %s,
    ",mysql_field_name($result,$i));
    printf("Type %s
    ",mysql_field_type($result,$i));
    }
    ?>

    (19) string mysql_field_flags(int result_id, int col_num);
    作為字符串返回結果集中給定列的相關元數據信息,如果出現錯誤,則返回假。這個字符串由以空格分開的詞

    組成,說明哪個列的標記值為真。對于假的標記,在字符串中給出相應的詞。
    col_num的范圍為0到mysql_num_fields()-1.

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db");
    $query="SELECT * FORM member";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("column %d:",$i);
    printf("Name %s,
    ",mysql_fields_name($result,$i));
    printf("Flags %s
    ",mysql_fields_flags($result,$i));
    }
    ?>

    (20) int mysql_field_len(int result, int field_offset);
    返回結果集給定列中值可能的最大長度。
    col_num的范圍為0到mysql_num_fields()-1.

    <?php
    上一篇      目錄      下一篇=mysql_pconnect("localhost","sunsoft","suixiang") or die("Could not connect");
    mysql_select_db("stamp_db");
    $query="SELECT * FROM member";
    $result=mysql_query($query) or die("Query failed");
    for($i=0;$i<mysql_num_fields($result);$i++)
    {
    printf("Column %d:",$i);
    printf("Name %s,
    ",mysql_field_name($result,$i));
    printf("Len %d
    ",mysql_field_len($result,$i));
    print"<BR>
    ";
    }
    ?>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>