(PHP 4, PHP 5)
mysql_fetch_object — 從結果集中取得一行作為對象
說明
object mysql_fetch_object ( resource$result
)
返回根據所取得的行生成的對象,如果沒有更多行則返回 FALSE
。
mysql_fetch_object() 和 mysql_fetch_array() 類似,只有一點區別 - 返回一個對象而不是數組。間接地也意味著只能通過字段名來訪問數組,而不是偏移量(數字是合法的屬性名)。
Note: 此函數返回的字段名大小寫敏感。
<?php
/* this is valid */
echo $row->field;
/* this is invalid */
echo $row->0;
?>
速度上,本函數和 mysql_fetch_array() 一樣,也幾乎和 mysql_fetch_row() 一樣快(差別很不明顯)。
Example #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);
?>
參見 mysql_fetch_array(),mysql_fetch_assoc() 和 mysql_fetch_row()。
參數
result
resource 型的結果集。此結果集來自對 mysql_query() 的調用。
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.
返回值
Returns an object with string properties that correspond to the
fetched row, or FALSE
if there are no more rows.
更新日志
版本 說明 5.0.0 Added the ability to return as a different object.
范例
Example #2 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);
?>
Example #3 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);
?>
注釋
Note:
Performance
Speed-wise, the function is identical to mysql_fetch_array(), and almost as quick as mysql_fetch_row() (the difference is insignificant).
Note:
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).
Note: 此函數返回的字段名大小寫敏感。
Note: 此函數將 NULL 字段設置為 PHP NULL
值。
參見
mysql_fetch_array() - 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有 mysql_fetch_assoc() - 從結果集中取得一行作為關聯數組 mysql_fetch_row() - 從結果集中取得一行作為枚舉數組 mysql_data_seek() - 移動內部結果的指針 mysql_query() - 發送一條 MySQL 查詢