10

我的 PDO 提取将所有内容作为字符串返回。

我有一个带有 id (int) 和 username (varchar) 的用户类。

当我尝试以下 sql 请求时

$db->prepare('SELECT * FROM users WHERE id=:id_user');
$db->bindParam(':id_user', $id_user);
$db->execute();
$user_data = $db->fetch(PDO::FETCH_ASSOC);

和 var_dump($user_data),id 参数是一个字符串。我怎样才能使 PDO 尊重 mysql 的正确数据类型?

4

1 回答 1

3

您可以使用不同的fetch_style。如果你有一个User类,你可以强制 PDO 返回一个User类的实例

$statement->fetchAll(PDO::FETCH_CLASS, "User");

您现在可以在它所属的User类中处理属性验证和强制转换。

有关的:

于 2013-03-17T19:13:38.783 回答