gpt4 book ai didi

php - 返回数据库对象的PHP方法的返回类型?

转载 作者:行者123 更新时间:2023-12-02 15:10:43 25 4
gpt4 key购买 nike

我应该在 "WHAT?" 文本中替换什么返回类型。如果查询没有返回结果呢?

我正在使用 PHP 7.1

方法是:

public function retrieveSomething(int $id_user): WHAT? {
try {
$this->sql = 'SELECT * FROM tbl_users WHERE IdUser = :id_user';
$stmt = $this->db->prepare($this->sql);
$stmt->bindValue(':id_user', $id_user, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_OBJ);
$stmt->closeCursor();
return $row;
} catch (PDOException $e) {
throw $e;
} catch (Exception $e) {
throw $e;
}
}

最佳答案

来自 manual :

PDO::FETCH_OBJ: returns an anonymous object with property names that correspond to the column names returned in your result set

您在用户评论中有一些示例:

object(stdClass)#6 (3) {
["1"]=>
string(1) "1"
["2"]=>
string(1) "2"
["3"]=>
string(1) "3"
}

所以:

public function retrieveSomething(int $id_user): \stdClass {
}

...应该可以工作(我这里没有要测试的 PHP/7)。

还有:

The return value of this function on success depends on the fetch type. In all cases, FALSE is returned on failure.

为避免这种情况,您应该将 PDO 配置为抛出异常(您显然已经这样做了,这本身就是一个好主意)。

此外,我建议您删除 try/catch block ,它们完全是多余的。

关于php - 返回数据库对象的PHP方法的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44046239/

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