mysql_fetch_object

結果の行をオブジェクトとして取得する

警告

この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。

  • mysqli_fetch_object
  • PDOStatement::fetchmodePDO::FETCH_OBJ を指定する

説明

object mysql_fetch_object(resource $result, string $class_name = ?, array $params = ?)

取得された行を表すプロパティを有するオブジェクトを返し、 内部のデータポインタを前に進めます。

パラメータ

result

評価された結果 リソース。この結果は、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