array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.mysql-fetch-object.php', 1 => 'mysql_fetch_object', ), 'up' => array ( 0 => 'ref.mysql.php', 1 => 'MySQL 函数', ), 'prev' => array ( 0 => 'function.mysql-fetch-lengths.php', 1 => 'mysql_fetch_lengths', ), 'next' => array ( 0 => 'function.mysql-fetch-row.php', 1 => 'mysql_fetch_row', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/mysql/functions/mysql-fetch-object.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5)
mysql_fetch_object — 从结果集中取得一行作为对象返回
本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南来获取更多信息。用以替代本函数的有:
mode
as PDO::FETCH_OBJ
返回一个对象,其属性与获取的行相对应,并将内部数据指针向前移动。
result
resource 型的结果集。此结果集来自对 mysql_query() 的调用。
class_name
要实例化、设置属性并返回的类的名称,如果不指定,默认返回 stdClass 对象。
params
可选 array 数组参数,会传递给 class_name
类的构造函数。
示例 #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
速度上,本函数和 mysql_fetch_array() 一样,也几乎和 mysql_fetch_row() 一样快(差别很不明显)。
注意:
mysql_fetch_object() 和 mysql_fetch_array() 类似,只有一点区别 - 返回一个对象而不是数组。间接地也意味着只能通过字段名来访问数组,而不是偏移量(数字是合法的属性名)。
注意: 此函数返回的字段名大小写敏感。
注意: 此函数将 NULL 字段设置为 PHP
null
值。