好的。首先,我们需要了解什么是PDO以及它的fetch方法。PDO是PHP的一种数据库抽象层,提供了一种简单、统一的方式来访问各种数据库系统。而fetch则是PDO中的一个方法,用于执行一条语句并按照指定的方式获取结果集中的数据。
好的。首先,我们需要了解什么是PDO以及它的fetch方法。PDO是PHP的一种数据库抽象层,提供了一种简单、统一的方式来访问各种数据库系统。而fetch则是PDO中的一个方法,用于执行一条语句并按照指定的方式获取结果集中的数据。
在fetch方法中,我们需要传递一个参数来指定获取数据的方式,这个参数也被称为“fetch模式”,常见的fetch模式有以下几种:
- PDO::FETCH_ASSOC:返回关联数组模式;
- PDO::FETCH_NUM:返回索引数组模式;
- PDO::FETCH_BOTH:即返回关联数组模式,又返回索引数组模式,是默认的fetch模式;
- PDO::FETCH_OBJ:返回指定类的实例。
接下来,我们来详细讲解这些fetch模式的具体参数和输出结果。
PDO::FETCH_ASSOC
PDO::FETCH_ASSOC表示以关联数组模式获取结果集中的数据。下面是一个示例:
$sql = "SELECT id, name, age FROM users";
$stmt = $pdo->query($sql);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($result);
输出结果为:
Array (
[id] => 1
[name] => John
[age] => 25
)
在这个示例中,我们执行的SQL语句是"SELECT id, name, age FROM users",这个语句将返回一条记录,包含id、name和age三个字段。然后我们调用fetch方法,传递了PDO::FETCH_ASSOC作为参数,以关联数组模式获取结果集中的数据,并且将结果输出。
PDO::FETCH_NUM
PDO::FETCH_NUM表示以索引数组模式获取结果集中的数据。下面是一个示例:
$sql = "SELECT id, name, age FROM users";
$stmt = $pdo->query($sql);
$result = $stmt->fetch(PDO::FETCH_NUM);
print_r($result);
输出结果为:
Array (
[0] => 1
[1] => John
[2] => 25
)
在这个示例中,我们执行的SQL语句与上一个示例相同,也是"SELECT id, name, age FROM users"。但是我们调用fetch方法时传递了PDO::FETCH_NUM作为参数,以索引数组模式获取结果集中的数据。
PDO::FETCH_BOTH
PDO::FETCH_BOTH表示以关联数组模式和索引数组模式同时获取结果集中的数据。下面是一个示例:
$sql = "SELECT id, name, age FROM users";
$stmt = $pdo->query($sql);
$result = $stmt->fetch(PDO::FETCH_BOTH);
print_r($result);
输出结果为:
Array (
[id] => 1
[0] => 1
[name] => John
[1] => John
[age] => 25
[2] => 25
)
在这个示例中,我们执行的SQL语句和前两个示例相同。但是我们调用fetch方法时传递了PDO::FETCH_BOTH作为参数,因此结果中既有以字段名作为键的关联数组,又有以字段名对应的序号作为键的索引数组。
PDO::FETCH_OBJ
PDO::FETCH_OBJ表示返回指定类的实例。这种模式更适合于面向对象的编程,可以将结果集中的数据作为对象的属性来获取。下面是一个示例:
class User {
public $id;
public $name;
public $age;
}
$sql = "SELECT id, name, age FROM users";
$stmt = $pdo->query($sql);
$result = $stmt->fetch(PDO::FETCH_OBJ, User::class);
print_r($result);
输出结果为:
User Object (
[id] => 1
[name] => John
[age] => 25
)
在这个示例中,我们定义了一个User类,并且执行的SQL语句和前几个示例相同。但是我们调用fetch方法时传递了PDO::FETCH_OBJ和User::class作为参数,意味着我们返回的是一个User类的实例,并将结果集中的数据存入了这个实例的属性中。
以上就是PHP PDO fetch 模式各种参数的输出结果一览的详细攻略。
本文标题为:PHP PDO fetch 模式各种参数的输出结果一览


基础教程推荐
- 解决Linux下php-fpm进程过多导致内存耗尽问题 2022-10-02
- 如何在Laravel5.8中正确地应用Repository设计模式 2023-03-16
- thinkPHP控制器变量在模板中的显示方法示例 2022-10-11
- php7性能提升的原因详解 2023-03-01
- php回调函数处理数组操作示例 2023-04-07
- php实现文件上传及头像预览功能 2023-08-03
- 简单的php新闻发布系统教程 2023-12-11
- thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析 2023-01-31
- laravel-admin 在列表页添加自定义按钮的例子 2023-02-21
- PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)流程教程详解 2022-10-09