WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

WEBシステム開発 PHP MySQL関数 mysql_fetch_assoc 連想配列 結果を取得

mysql_fetch_assoc 連想配列として結果の行を取得する

リレーション、サブクエリ、PHP、データベース連携
パフォーマンス、チューニング、正規化、インデックス、最適化

PHP マニュアル
www.php.net/manual/ja/

(PHP 4, PHP 5)




mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc ? 連想配列として結果の行を取得する

説明
array mysql_fetch_assoc ( resource $result )

取得した行に対応する連想配列を返し、内部のデータポインタを前に進めます。 mysql_fetch_assoc() は、 mysql_fetch_array() の 2 番目のパラメータを MYSQL_ASSOC に指定してコールするのと同じ働きをします。つまり、 連想配列のみを返します。

パラメータ

result

評価された結果 リソース。この結果は、mysql_query() のコールにより得られたものです。

返り値

取得した行に対応する文字列の連想配列を返します。行がもうない場合には FALSE を返します。

結果の複数のカラムが同じフィールド名を有している場合、最後のカラ ムが優先されます。同じ名前を有する他のカラムにアクセスするには、 mysql_fetch_row()を使用して数値添字を返すか、 エイリアス名を追加する必要があります。エイリアスの説明については、 mysql_fetch_array()の例を参照ください。



例1 mysql_fetch_assoc() のいろいろな例

<?php

$conn = mysql_connect(“localhost”, “mysql_user”, “mysql_password”);

if (!$conn) {
echo “Unable to connect to DB: ” . mysql_error();
exit;
}

if (!mysql_select_db(“mydbname”)) {
echo “Unable to select mydbname: ” . mysql_error();
exit;
}

$sql = “SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1”;

$result = mysql_query($sql);

if (!$result) {
echo “Could not successfully run query ($sql) from DB: ” . mysql_error();
exit;
}

if (mysql_num_rows($result) == 0) {
echo “No rows found, nothing to print so am exiting”;
exit;
}

// データ行が存在する間、それを $row に連想配列形式でセットする
// 注: 結果が 1 行であることがわかっているのなら、ループを利用しなくてもよい
// 注: ループ内で extract($row); を実行すれば、
// $userid, $fullname, そして $userstatus を利用できる
while ($row = mysql_fetch_assoc($result)) {
echo $row[“userid”];
echo $row[“fullname”];
echo $row[“userstatus”];
}

mysql_free_result($result);

?>

注意

注意: パフォーマンス

特筆すべき点として、mysql_fetch_assoc() が 著しい付加価値があるにもかかわらず、 mysql_fetch_row()より それほど遅くはないということが言えます。

注意: この関数により返されるフィールド名は 大文字小文字を区別 します。

注意: この関数は、 NULL フィールドに PHPの NULL 値を設定します。

参考

* mysql_fetch_row() – 結果を添字配列として取得する
* mysql_fetch_array() – 連想配列、添字配列、またはその両方として結果の行を取得する
* mysql_data_seek() – 内部的な結果ポインタを移動する
* mysql_query() – MySQL クエリを送信する
* mysql_error() – 直近に実行された MySQL 操作のエラーメッセージを返す




■MySQL管理ツール

phpMyAdmin

phpMyAdmin(ピーエイチピーマイアドミン)はMySQLをインターネット越しに管理するためのデータベース接続クライアントツールで、PHPで実装されている。 phpMyAdminを用いることで、SQL文を記述することなく、MySQLのデータベースに対して様々な操作が行える。 また、ユーザが任意のSQL文を記述して実行することもできる。