(PHP 4, PHP 5)
mysql_fetch_object — 從結(jié)果集中取得一行作為對(duì)象返回
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在自 PHP 7.0.0 開(kāi)始被移除。應(yīng)使用 MySQLi 或 PDO_MySQL 擴(kuò)展來(lái)替換之。參見(jiàn) MySQL:選擇 API 指南來(lái)獲取更多信息。用以替代本函數(shù)的有:
$result
, string $class_name
= ?, array $params
= ?): object返回一個(gè)對(duì)象,其屬性與獲取的行相對(duì)應(yīng),并將內(nèi)部數(shù)據(jù)指針向前移動(dòng)。
result
resource 型的結(jié)果集。此結(jié)果集來(lái)自對(duì) mysql_query() 的調(diào)用。
class_name
要實(shí)例化、設(shè)置屬性并返回的類(lèi)的名稱,如果不指定,默認(rèn)返回 stdClass 對(duì)象。
params
可選 array 數(shù)組參數(shù),會(huì)傳遞給 class_name
類(lèi)的構(gòu)造函數(shù)。
返回根據(jù)所取得的行生成的對(duì)象 object,如果沒(méi)有更多行則返回 false
。
示例 #1 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);
?>
示例 #2 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);
?>
注意: Performance
速度上,本函數(shù)和 mysql_fetch_array() 一樣,也幾乎和 mysql_fetch_row() 一樣快(差別很不明顯)。
注意:
mysql_fetch_object() 和 mysql_fetch_array() 類(lèi)似,只有一點(diǎn)區(qū)別 - 返回一個(gè)對(duì)象而不是數(shù)組。間接地也意味著只能通過(guò)字段名來(lái)訪問(wèn)數(shù)組,而不是偏移量(數(shù)字是合法的屬性名)。
注意: 此函數(shù)返回的字段名大小寫(xiě)敏感。
注意: 此函數(shù)將 NULL 字段設(shè)置為 PHP
null
值。