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

# mysql_fetch_object

(PHP 4, PHP 5)

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` を指定する

### 説明

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

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

### パラメータ

`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() - MySQL クエリを送信する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open