php の mysql_result mysql_fetch_row mysql_fetch_array mysql_fetch_object の 4 つの関数の詳細な説明
mysqltutorial_result(): 利点は、関数が少ないこと、欠点は、1 回の呼び出しで 1 行の要素しか取得できないことです。結果データセット より大きなデータベース用のチュートリアル 効率が低い
mysql_result() 関数は、結果セット内のフィールドの値を返します。
成功した場合、関数はフィールド値を返します。失敗した場合は false を返します。
文法
mysql_result(data,row,field) パラメータの説明
データが必要です。使用する結果識別子を指定します。この識別子は、mysql_query() 関数によって返されます。
行が必要です。行番号を指定します。行番号は 0 から始まります。
フィールドはオプションです。どのフィールドを取得するかを指定します。フィールド オフセット値、フィールド名、または table.fieldname を指定できます。
このパラメータが指定されていない場合、関数は指定された行から最初のフィールドを取得します。
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('接続できませんでした: ' .mysql_error());
}$db_selected = mysql_select_db("test_db", $con);
$sql = "人から * を選択";
$result = mysql_query($sql,$con);echo mysql_result($result,0);
mysql_close($con);
?>
mysql_fetch_row(): 利点は、実行効率が 4 つのメソッドの中で最も高いことです。欠点は、属性値を取得するために属性インデックスとして使用できるのは数値だけであるため、使用時に非常に混乱が生じやすいことです。
mysql_fetch_row() 関数は、結果セットから行を数値配列としてフェッチします。文法
mysql_fetch_row(data) パラメータの説明
データが必要です。使用するデータ ポインター。データ ポインタは、mysql_query() から返された結果です。
mysql_fetch_row() は、結果識別子データに関連付けられた結果セットからデータの行をフェッチし、それを配列として返します。各結果列は、オフセット 0 から始まる配列のセルに格納されます。
戻り値
フェッチされた行に基づいて配列を返します。行がもうない場合は false を返します。
例
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('接続できませんでした: ' .mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);$sql = "select * from person where lastname='adams'";
mysql_close($con);
$result = mysql_query($sql,$con);
print_r(mysql_fetch_row($result));
?>出力:
配列
(
[0] => アダムス
[1] => ジョン
[2] =>ロンドン
)
mysql_fetch_array(): 実行効率は mysql_fetch_row() とほぼ同じで、属性名を使用して直接属性値を取得できるため、実用的なアプリケーションで最も一般的に使用されます。
定義と使用法
結果セットから取得した行に基づいて配列を返します。行がない場合は false を返します。
文法
mysql_fetch_array(data,array_type) パラメータの説明
データはオプションです。仕様では使用するデータポインタを指定します。このデータ ポインタは、mysql_query() 関数の結果です。
array_type はオプションです。返される結果の種類を指定します。可能な値:
mysql_assoc - 連想配列
mysql_both - デフォルト。連想配列と数値配列を同時に生成します
ヒントとメモ
注: mysql_fetch_array() は mysql_fetch_row() の拡張バージョンです。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。
ヒント: mysql_fetch_array() を使用することは、mysql_fetch_row() を使用する場合よりも大幅に遅くならず、より多くの値を提供することを指摘することが重要です。
注: この関数によって返されるフィールド名は大文字と小文字が区別されます。
例
if (!$con)
{
die('接続できませんでした: ' .mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));
mysql_close($con);
配列
[0] => アダムス
[姓] => アダムス
[1] => ジョン
[名] => ジョン
[2] =>ロンドン
[都市] => ロンドン
)
mysql_fetch_object(): オブジェクト指向の考え方を採用しており、オブジェクト指向の考え方でプログラムを作成することに慣れている場合は、これを選択するのが簡単です。第 2 に、この方法の利点は、より信頼性の高い構造を持つデータ結果が論理的に明確になることです。
mysql_fetch_object() 関数は、結果セット (レコードセット) から行をオブジェクトとして取得します。
成功した場合、この関数は mysql_query() から行を取得し、オブジェクトを返します。失敗した場合、または行がもうない場合は false を返します。
文法
mysql_fetch_object(data) パラメータの説明
データが必要です。使用するデータ ポインター。データ ポインタは、mysql_query() から返された結果です。
ヒントとメモ
注: mysql_fetch_object() への後続の各呼び出しは、レコードセット内の次の行を返します。
注: mysql_fetch_object() は mysql_fetch_array() に似ていますが、配列の代わりにオブジェクトが返されるという 1 つの違いがあります。これは間接的に、配列にはオフセットではなくフィールド名によってのみアクセスできることも意味します。
例
$con = mysql_connect("localhost", "ピーター", "abc123");
if (!$con)
{
die('接続できませんでした: ' .mysql_error());
}$db_selected = mysql_select_db("test_db",$con);
$sql = "人から * を選択";
$result = mysql_query($sql,$con);while ($row = mysql_fetch_object($result))
{
echo $row->firstname . "
";
}mysql_close($con);
?>出力:ジョン
ジョージ
トーマス