php的mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc及mssql_fetch_objcect讀取資料的

來源:互聯網
上載者:User
  1. require 'dbconn.php';
  2. $sql = 'select * from _Test';
  3. $query = mssql_query($sql);
  4. while($row=mssql_fetch_row($query))
  5. {
  6. echo $row['UserId'].'::'.$row[1].'
    ';
  7. }
複製代碼

返回:Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小一Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小二Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小三Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小四Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小五

分析:mssql_fetch_row(),和用mssql_fetch_array()加上第二個選擇性參數 MYSQL_NUM 完全相同。從和指定的結果標識關聯的結果集中取得一行資料並作為數組返回。每個結果的列儲存在一個數組的單元中,位移量從 0 開始。 注意,這裡是從0開始位移,不能用key值(欄位名)來取值,只能用索引來取值。因此,這裡使用$row['key值']無法取到值。

二、方法名: mssql_fetch_assoc()樣本:

  1. $query = mssql_query($sql);
  2. while($row=mssql_fetch_assoc($query))
  3. {
  4. echo $row['UserId'].'::'.$row[1].'
    ';
  5. }
複製代碼

返回:Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 1::Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 2::Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 3::Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 4::Notice: Undefined offset: 1 in D:/_PHP_Test/Test2/test_connLocalDB.php on line 43 5::分析:mssql_fetch_assoc() 和用mssql_fetch_array()加上第二個選擇性參數 MYSQL_ASSOC 完全相同。它僅僅返回關聯陣列。這也是 mssql_fetch_array()起初始的工作方式。因此用$row[索引值]無法取到值。

三、方法名: mssql_fetch_array()樣本:

  1. $query = mssql_query($sql);
  2. while($row=mssql_fetch_array($query))
  3. {
  4. echo $row['UserId'].'::'.$row[1].'
    ';
  5. }
  6. ?>
複製代碼

返回:1::王小一2::王小二3::王小三4::王小四5::王小五

分析:mssql_fetch_array(),是mssql_fetch_row()的擴充版本。除了將資料以數字索引方式儲存在數組中之外,還可以將資料作為關聯索引儲存,用欄位名作為鍵名。 因此這裡使用$row['key值']和$row[索引值]皆可以取到值。

mssql_fetch_array() 中第二個參數result_type (這是一個常量)為選擇性參數,取值範圍為:MYSQL_ASSOC ,MYSQL_NUM 和 MYSQL_BOTH 。其中:mssql_fetch_array($query, MYSQL_ASSOC) == mssql_fetch_assoc($query);mssql_fetch_array($query, MYSQL_NUM) == mssql_fetch_row($query);所以mssql_fetch_array()函數在某種程度上可以算是mssql_fetch_row()與 mssql_fetch_assoc ()的集合。因此,mssql_fetch_array()另外還有MYSQL_BOTH參數,將得到一個同時包含關 聯和數字索引的數組。

四、方法名: mssql_fetch_object()樣本:

  1. $query=mssql_query($sql);
  2. while($row=mssql_fetch_object($query))
  3. {
  4. echo $row->UserId.'::'.$row->CreateTime."
    ";
  5. }
複製代碼

返回:1::06 7 2011 4:46PM2::06 7 2011 4:46PM3::06 7 2011 4:46PM4::06 7 2011 4:46PM5::06 7 2011 4:46PM

分析:mysql_fetch_object() 和 mssql_fetch_array類似,只有一點區別,即返回一個對象而不是數組,並將欄位名字做為屬性。間接地也意味著只能通過欄位名來訪問,而不是位移量。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.