php-最も一般的なデータベース操作mysql_fetch_array

9049 ワード

mysql_fetch_array
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_fetch_Array-結果セットから関連配列、または数値配列、または両方を兼ね備えた行を取得します.
説明array
mysql_fetch_array ( resource $result [, int $ result_type ] )
結果セットから取得したローに基づいて生成された配列を返し、それ以上のローがない場合はFALSEを返します.
mysql_fetch_Array()は、mysql_fetch_row()の拡張バージョンです.データを数値インデックスで配列に格納するほか、フィールド名をキー名として関連インデックスとして格納することもできます.
結果の2つ以上のカラムに同じフィールド名がある場合は、最後のカラムが優先されます.同じ名前の他のカラムにアクセスするには、カラムの数値インデックスまたはカラムに別名を付ける必要があります.別名のあるカラムには、元のカラム名でコンテンツにアクセスできません(この例の「field」).
例1378.同じフィールド名のクエリー
select table1.field as foo, table2.field as bar from table1, table2

      

 
重要なのはmysqlでfetch_array()は、mysql_fetch_row()で使用するよりも著しく遅くなく、より顕著な値を提供する.
mysql_fetch_Array()でオプションの2番目のパラメータresult_typeは定数で、以下の値を受け入れることができます:MYSQL_ASSOC,MYSQL_NUMとMYSQL_BOTH.本特性はPHP 3.0.7から新たに追加したものです.このパラメータのデフォルト値はMYSQL_です.BOTH.
MYSQLを使ったらBOTHは、関連付けとデジタルインデックスを同時に含む配列を得る.MYSQLでASSOCは関連インデックスのみを取得(mysql_fetch_assoc()のように)、MYSQL_NUMは、mysql_fetch_row()のようにデジタルインデックスのみを取得します.
注:この関数で返されるフィールド名は、大文字と小文字を区別します.
 
例1379.mysql_fetch_ArrayはMYSQL_を使用NUM <?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_NUM)) {
        
printf ("ID: %s  Name: %s"$row[0], $row[1]);
    }

    
mysql_free_result($result);
?>
 
 
例1380.mysql_fetch_ArrayはMYSQL_を使用ASSOC <?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_ASSOC)) {
        
printf ("ID: %s  Name: %s"$row["id"], $row["name"]);
    }

    
mysql_free_result($result);
?>
 
 
例1381.mysql_fetch_ArrayはMYSQL_を使用BOTH <?php
    mysql_connect
("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("mydb");

    
$result mysql_query("SELECT id, name FROM mytable");

    while (
$row mysql_fetch_array($resultMYSQL_BOTH)) {
        
printf ("ID: %s  Name: %s"$row[0], $row["name"]);
    }

    
mysql_free_result($result);
?>
 
mysql_fetch_row()およびmysql_fetch_assoc()を参照してください.