牛牛在线工具

PDOStatement::setFetchMode()

收录 8868 个 PHP 函数,含用途说明与用法示例。

PDOStatement::setFetchMode()

设置PDOStatement对象的默认获取模式

函数名称:PDOStatement::setFetchMode() 适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8 函数描述:这个方法设置PDOStatement对象的默认获取模式。 用法: PDOStatement::setFetchMode(int $mode): bool PDOStatement::setFetchMode(int $mode, mixed $arg1): bool PDOStatement::setFetchMode(int $mode, mixed $arg1, mixed $arg2): bool 参数: $mode(必需):指定获取模式的常量值。可以是以下之一: PDO::FETCH_ASSOC:返回一个索引为列名的关联数组。 PDO::FETCH_BOTH:返回一个索引既为列名又为列号的关联数组。 PDO::FETCH_BOUND:将结果中的列值绑定到通过bindColumn()方法绑定的变量上。 PDO::FETCH_CLASS:返回一个指定类名的新实例,属性名对应列名。 PDO::FETCH_INTO:将结果中的列值绑定到已存在的对象的属性上。 PDO::FETCH_LAZY:创建关联数组,只有在访问时才获取数据。 PDO::FETCH_NUM:返回一个索引为列号的数组。 PDO::FETCH_OBJ:返回一个匿名对象,属性名对应列名。 $arg1(可选):根据不同的获取模式,可以是额外的参数。例如,在PDO::FETCH_CLASS模式下,$arg1是要实例化的类名。 $arg2(可选):根据不同的获取模式,可以是额外的参数。例如,在PDO::FETCH_INTO模式下,$arg2是要绑定到的对象。 返回值:如果成功设置了获取模式,则返回true;否则返回false。 示例: // 创建一个PDO连接 $dsn = 'mysql:host=localhost;dbname=test'; $username = 'root'; $password = 'password'; $pdo = new PDO($dsn, $username, $password); // 准备SQL语句并执行 $stmt = $pdo->prepare('SELECT id, name FROM users'); $stmt->execute(); // 设置获取模式为关联数组 $stmt->setFetchMode(PDO::FETCH_ASSOC); // 使用fetch()方法获取结果 while ($row = $stmt->fetch()) { echo $row['id'] . ': ' . $row['name'] . '<br>'; } // 设置获取模式为对象 $stmt->setFetchMode(PDO::FETCH_OBJ); // 使用fetchObject()方法获取结果 while ($user = $stmt->fetchObject()) { echo $user->id . ': ' . $user->name . '<br>'; } 在上面的示例中,我们首先创建了一个PDO连接。然后,我们准备并执行了一个SELECT语句。接下来,我们使用setFetchMode()方法将获取模式设置为关联数组(PDO::FETCH_ASSOC),然后使用fetch()方法获取结果并打印出来。然后,我们将获取模式设置为对象(PDO::FETCH_OBJ),并使用fetchObject()方法获取结果并打印出来。