PHP の mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc、および mssql_fetch_objcect 読み取りデータ

WBOY
リリース: 2016-07-25 09:05:20
オリジナル
1003 人が閲覧しました
  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. }
コードをコピー

Return: 注意: 未定義のインデックス: D:/_PHP_Test/Test2/test_connLocalDB.php の 32 行目の UserId ::王小一 注意: 未定義のインデックス: D:/_PHP_Test/Test2/test_connLocalDB.php の 32 行目の UserId ::王小儿 注意: 未定義のインデックス: D:/_PHP_Test/Test2/test_connLocalDB.php の 32 行目の UserId ::王小三 注意: 未定義のインデックス: D:/_PHP_Test/Test2/test_connLocalDB.php の 32 行目の UserId ::王小思 注意: 未定義のインデックス: D:/_PHP_Test/Test2/test_connLocalDB.php の 32 行目の UserId ::王小五

分析: mssql_fetch_row() は、mssql_fetch_array() に 2 番目のオプションのパラメーター MYSQL_NUM を加えたものとまったく同じです。指定された結果識別子に関連付けられた結果セットからデータの行を取得し、それを配列として返します。各結果列は、オフセット 0 から始まる配列のセルに格納されます。 ここでのオフセットは 0 から始まり、キー値 (フィールド名) を使用して値を取得することはできず、インデックスのみを使用して値を取得できることに注意してください。したがって、ここで $row['key value'] を使用して値を取得することはできません。

2. メソッド名: mssql_fetch_assoc() 例:

  1. $query = mssql_query($sql);
  2. while($row=mssql_fetch_assoc($query))
  3. {
  4. echo $row['UserId'].'::'.$ row[1].'
    ';
  5. }
コードをコピー

Return: 注意: 未定義のオフセット: D:/_PHP_Test/Test2/test_connLocalDB.php の 43 行目 1:: に 1 があります。 注意: 未定義のオフセット: D:/_PHP_Test/Test2/test_connLocalDB.php の 43 行目 2:: 1 にあります。 注意: 未定義のオフセット: D:/_PHP_Test/Test2/test_connLocalDB.php の 43 行目 3:: に 1 があります。 注意: 未定義のオフセット: D:/_PHP_Test/Test2/test_connLocalDB.php の 43 行目 4:: に 1 があります。 注意: 未定義のオフセット: D:/_PHP_Test/Test2/test_connLocalDB.php の 43 行目 5:: に 1 があります。 分析します: mssql_fetch_assoc() は、mssql_fetch_array() に 2 番目のオプションのパラメーター MYSQL_ASSOC を加えたものとまったく同じです。連想配列を返すだけです。これは、mssql_fetch_array() の最初の動作方法でもあります。したがって、$row[インデックス値]を使用して値を取得することはできません。

3. メソッド名: mssql_fetch_array() 例:

  1. $query = mssql_query($sql);
  2. while($row=mssql_fetch_array($query))
  3. {
  4. echo $row['UserId'].'::'.$ row[1].'
    ';
  5. }
  6. ?>
コードをコピー

Return: 1::王暁儀 2::王暁爾 3::王暁三 4::王暁思 5::王暁武

分析: mssql_fetch_array() は、mssql_fetch_row() の拡張バージョンです。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。 したがって、ここでは $row['key value'] と $row[index value] の両方を使用して値を取得できます。

mssql_fetch_array() の 2 番目のパラメーター 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 パラメーターもあり、関連付けと数値インデックスの両方を含む配列を取得します。

4. メソッド名: mssql_fetch_object() 例:

  1. $query=mssql_query($sql);
  2. while($row=mssql_fetch_object($query))
  3. {
  4. echo $row->UserId.'::'.$row ->CreateTime."
    ";
  5. }
コードをコピー

Return: 1::06 2011 年 7 月 4:46PM 2::06 2011 年 7 月 4:46PM 3::06 2011 年 7 月 4:46PM 4::06 2011 年 7 月 4:46PM 5::06 2011 年 7 月 4:46PM

分析: mysql_fetch_object() は mssql_fetch_array に似ていますが、配列の代わりにオブジェクトを返し、フィールド名を属性として使用する点が 1 つ異なります。間接的には、オフセットではなくフィールド名によってのみアクセスできることも意味します。



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート