PHP PDO获取对象
我正试图找出如何从PDO获取到我的自定义类,以及通常的PDO到对象API,并且发现缺少合适的文档令人沮丧。大多数选项仅作为一个选项记录,而示例都使用数组中的抓取。PHP PDO获取对象,php,pdo,Php,Pdo,我正试图找出如何从PDO获取到我的自定义类,以及通常的PDO到对象API,并且发现缺少合适的文档令人沮丧。大多数选项仅作为一个选项记录,而示例都使用数组中的抓取。 那么,有人能解释一下这些是如何使用的吗: PDO::FETCH_OBJ PDO::FETCH_类 PDO::FETCH_类类型 PDO::将_读入 PDO::获取_LAZY PDO语句::fetch PDO语句::fetchObject PDOStatement::setFetchMode 如果可能的话,我想要一个关于如何使用每个
那么,有人能解释一下这些是如何使用的吗:
- PDO::FETCH_OBJ
- PDO::FETCH_类
- PDO::FETCH_类类型
- PDO::将_读入
- PDO::获取_LAZY
- PDO语句::fetch
- PDO语句::fetchObject
- PDOStatement::setFetchMode
class MyRow {
public $col1, $col2;
}
准备语句后,将PDOStatement::setFetchMode与PDO::FETCH_类一起使用:
$stmt = $pdo->query('SELECT col1, col2 FROM table');
$stmt->setFetchMode(\PDO::FETCH_CLASS, 'MyRow');
$obj = $stmt->fetch();
以下是我设法弄明白的: 常数
- PDO::FETCH_OBJ
用于获取未命名(“匿名”)对象的新实例 - PDO::FETCH_类
用于获取现有类的新实例(列名应与现有属性匹配,或应使用
接受所有属性)。设置属性后将调用该类的构造函数\u set
- PDO::FETCH_类类型
与
(按位或)一起使用时,要创建其实例的类的名称位于第一列,而不是提供给函数FETCH\u CLASS
- PDO::将_提取到
与
相同类型的类一起使用(必须将所有列作为属性名处理),但会更新现有对象,而不是创建新对象FETCH\u class
- PDO::FETCH_LAZY
我不知道这有什么用
- PDO语句::fetch
常规的get-a-row命令。我不知道如何将它与
或FETCH_CLASS
一起使用,因为没有任何方法可以传递类名/实例FETCH_INTO
- PDO语句::fetchObject
执行
或获取类
的方法,包括传递构造函数参数。不带参数是获取到
的缩写FETCH\u OBJ
- PDO语句::setFetchMode
一种设置默认获取模式的方法,以便在不使用参数的情况下调用pdostation::fetch
这是我能想到的最好的办法。我希望它能帮助其他人(我需要
fetchObject
方法)这能做什么?它是创建实例还是分配给现有实例?这将创建一个实例。这肯定会调用构造函数吗?它在填充获取的属性后调用构造函数。要避免这种情况,请使用PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE