【发布时间】:2013-02-05 07:01:34
【问题描述】:
我的 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 中的正确数据类型?
【问题讨论】:
-
你会在 php.ini 中遇到这个问题。我建议您在 php 中添加您所期望的内容。
-
你的意思是每次请求后我应该手动 intval() / strval() 每个参数?
-
是的,我通常会做 'echo (int) "1";'或回显(字符串)“1”;
-
这真的是一个问题吗?您是否因为结果不是 int 而遇到问题?
-
@Ping 附带说明:MySQL 的布尔值实际上是 tinyint 的同义词。当通过 PHP 处理 MySQL 到 JSON 时,显式类型转换是您的朋友。