这篇文章将为大家详细讲解有关PHP从结果集中取得一行作为对象,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
从结果集中取得一行作为对象
在 php 中,可以使用 fetch_object()
方法从结果集中获取一行作为对象。该方法将结果集中当前行的数据存储为一个对象,其中的每个属性对应一个字段值。
语法
object fetch_object([string $class_name[, $params]])
参数
返回值
一个包含结果集中当前行数据的对象。如果结果集中没有更多行,则返回 NULL
。
示例
<?php
// 创建一个数据库连接
$Mysqli = new mysqli("localhost", "my_user", "my_passWord", "my_database");
// 执行一个查询
$result = $mysqli->query("SELECT * FROM users");
// 迭代结果集
while ($user = $result->fetch_object()) {
// 访问对象的属性
echo $user->name . " " . $user->email . "
";
}
?>
使用匿名对象
如果不需要创建特定类的对象,可以使用匿名对象。匿名对象没有类名,其属性直接映射到结果集中的字段。
<?php
// 创建一个数据库连接
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");
// 执行一个查询
$result = $mysqli->query("SELECT * FROM users");
// 迭代结果集
while ($user = $result->fetch_object()) {
// 访问对象的属性
echo $user->name . " " . $user->email . "
";
}
?>
自定义类
也可以创建自己的类来表示结果集中的一行数据。在这种情况下,$class_name
参数应指定该类。
<?php
class User {
public $name;
public $email;
}
// 创建一个数据库连接
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");
// 执行一个查询
$result = $mysqli->query("SELECT * FROM users");
// 迭代结果集
while ($user = $result->fetch_object("User")) {
// 访问对象的属性
echo $user->name . " " . $user->email . "
";
}
?>
传递参数
fetch_object()
方法还可以接受一个参数数组,该数组将传递给类构造函数。
<?php
class User {
public $name;
public $email;
public function __construct($name, $email) {
$this->name = $name;
$this->email = $email;
}
}
// 创建一个数据库连接
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");
// 执行一个查询
$result = $mysqli->query("SELECT * FROM users");
// 迭代结果集
while ($user = $result->fetch_object("User", ["name", "email"])) {
// 访问对象的属性
echo $user->name . " " . $user->email . "
";
}
?>
以上就是PHP从结果集中取得一行作为对象的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: PHP从结果集中取得一行作为对象
本文链接: https://lsjlt.com/news/584988.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0