如何使用PDO从MySQL获取正确的数据类型?
my PDO fetch returns everything as a string.
我的PDO fetch以字符串形式返回所有内容。
I have a user class with id (int) and username (varchar).
我有一个id(int)和username(varchar)的用户类。
When I try the following sql request
当我尝试以下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);
and var_dump($user_data), the id parameter is a string. How can I make it so PDO respects the correct datatypes from mysql ?
和var_dump($ user_data),id参数是一个字符串。我怎样才能使PDO尊重mysql中正确的数据类型?
1 个解决方案
#1
3
You could use a different fetch_style. If you have a user class, you could force PDO to return a instance of the User class with
您可以使用不同的fetch_style。如果您有用户类,则可以强制PDO返回User类的实例
$statement->fetchAll(PDO::FETCH_CLASS, "User");
You can now take care of properties validations and casting inside the User class, where it belongs.
您现在可以处理属性验证并在其所属的User类内部进行转换。
Related:
- PHP PDO: Fetching data as objects - properties assigned BEFORE __construct is called. Is this correct?
- PDO PHP Fetch Class
PHP PDO:将数据作为对象获取 - 调用BEFORE __construct分配的属性。它是否正确?
PDO PHP Fetch Class
更多相关文章
- 如何在mysql数据库中找到类似的二进制字符串?
- 关于如何更好的监听元素属性的变化(转)
- SQL从结果数据库中选择subCode及其得分,并将其输出为一个字符串
- JavaScript 中 Object ,Prototype 相关的属性和方法
- [JavaScript] 将字符串数组转化为整型数组
- Dojo:不能在AccordionContainer.js中读取未定义的属性“h”。
- JavaScript 字符串函数 之查找字符方法(一)
- ng- repeat显示的行等于no属性,甚至不显示html视图上的数据
- 范围变量值的变化没有反映在我的字符串中