mysql_fetch_object

Fetch a result row as an object

&mysql.alternative.note;

- `mysqli_fetch_object`
- `PDOStatement::fetch` with `mode` as `PDO::FETCH_OBJ`

&reftitle.description; `object` `mysql_fetch_object` `resource` `result` `string` `class_name` `array` `params`

Returns an object with properties that correspond to the fetched row and moves the internal data pointer ahead.

&reftitle.parameters;

&mysql.result.description;

`class_name`

- The name of the class to instantiate, set the properties of and return. If not specified, a `stdClass` object is returned.

`params`

- An optional `array` of parameters to pass to the constructor for `class_name` objects.

&reftitle.returnvalues;

Returns an `object` with string properties that correspond to the fetched row, or &false; if there are no more rows.

&reftitle.examples;

### `mysql_fetch_object` example

    <?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);
    ?>

### `mysql_fetch_object` example

    <?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);
    ?>

&reftitle.notes;

### Performance

Speed-wise, the function is identical to `mysql_fetch_array`, and almost as quick as `mysql_fetch_row` (the difference is insignificant).

`mysql_fetch_object` is similar to `mysql_fetch_array`, with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

&database.field-case; &database.fetch-null;
&reftitle.seealso;

- `mysql_fetch_array`
- `mysql_fetch_assoc`
- `mysql_fetch_row`
- `mysql_data_seek`
- `mysql_query`