mysql_fetch_object
結果の行をオブジェクトとして取得する
警告
この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。
MySQLi あるいは
PDO_MySQL を使うべきです。詳細な情報は
MySQL: API の選択 を参照ください。
この関数の代替として、これらが使えます。
- mysqli_fetch_object
-
PDOStatement::fetch
の
mode に PDO::FETCH_OBJ
を指定する
説明
object mysql_fetch_object(resource $result, string $class_name = ?, array $params = ?)
取得された行を表すプロパティを有するオブジェクトを返し、
内部のデータポインタを前に進めます。
パラメータ
-
result
-
評価された結果を示す resource。この結果は、mysql_query のコールにより得られたものです。
-
class_name
-
インスタンス化し、プロパティを設定して返すクラスの名前。
指定しなかった場合は stdClass
オブジェクトが返されます。
-
params
-
class_name オブジェクトのコンストラクタに渡す
オプションのパラメータの配列。
戻り値
取得された行を表す文字列プロパティを有するオブジェクト(object)を返します。
もう行が残っていない場合は、false を返します。
例
例1 mysql_fetch_object の例
<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>
例2 mysql_fetch_object の例
<?php
class foo {
public $name;
}
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select name from mytable limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
注意
注意:
パフォーマンス
速度面では、この関数は mysql_fetch_array と同等で、
mysql_fetch_row とほぼ同等です(違いはわずかです)。
注意:
mysql_fetch_objectは、配列の代わりに
オブジェクトが返されるという一つの違いを除いて
mysql_fetch_arrayと類似しています。
つまり、オフセットによってではなく、フィールド名によってのみ
データにアクセスすることができます
(数字は、プロパティ名として使用できません)。
注意: この関数により返されるフィー
ルド名は 大文字小文字を区別 します。
注意: この関数は、
NULL フィールドに PHPの null 値を設定します。
参考
- mysql_fetch_array
- mysql_fetch_assoc
- mysql_fetch_row
- mysql_data_seek
- mysql_query