gpt4 book ai didi

php - PDOStatement::fetch() 说明

转载 作者:行者123 更新时间:2023-12-05 04:18:44 25 4
gpt4 key购买 nike

我注意到 PDO::FETCH_INTO 获取模式在 PDOStatement::fetch() 中不起作用,但在 manual 中它说您可以将 PDO::FETCH_INTOPDOStatement::fetch() 一起使用。

我想做的是:$query->fetch(PDO::FETCH_INTO, $user);

返回:PDOStatement::fetch() expects parameter 2 to be long, object given

这是否意味着该手册具有误导性?在这种情况下,使用 PDO::FETCH_INTO 的正确方法是什么?

最佳答案

试试这个方法:

$stmt->setFetchMode(PDO::FETCH_INTO, $user);
$user = $stmt->fetch();

更新:

如果您拥有带有公共(public) setter (推荐)而不是公共(public)属性的私有(private)/ protected 属性,请改用 FETCH_CLASS:

class User {
protected $username;

public setUsername($username) {
$this->username = $username;
}
...
}
...
$stmt->setFetchMode(PDO::FETCH_CLASS, 'User');
$user = $stmt->fetch();

更新 2:

使用 PDO::FETCH_CLASS,您甚至不需要 setter(编辑:不需要 PDO 的 setter,这对 id 字段很有用):

class User {
protected $username;
...
}
...
$stmt->setFetchMode(PDO::FETCH_CLASS, 'User');
$user = $stmt->fetch();

更新 3:请在此处查看完整示例:http://pastebin.com/LneAj0xn

关于php - PDOStatement::fetch() 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10071948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com