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?
  • PHP PDO:将数据作为对象获取 - 调用BEFORE __construct分配的属性。它是否正确?

  • PDO PHP Fetch Class
  • PDO PHP Fetch Class

更多相关文章

  1. 如何在mysql数据库中找到类似的二进制字符串?
  2. 关于如何更好的监听元素属性的变化(转)
  3. SQL从结果数据库中选择subCode及其得分,并将其输出为一个字符串
  4. JavaScript 中 Object ,Prototype 相关的属性和方法
  5. [JavaScript] 将字符串数组转化为整型数组
  6. Dojo:不能在AccordionContainer.js中读取未定义的属性“h”。
  7. JavaScript 字符串函数 之查找字符方法(一)
  8. ng- repeat显示的行等于no属性,甚至不显示html视图上的数据
  9. 范围变量值的变化没有反映在我的字符串中

随机推荐

  1. android 数字键盘使用
  2. [Android]Kernel的下载和编译
  3. 马达 vibrator的android的timed_output实
  4. android中从图库中选取图片
  5. 与屏幕有关的设置:禁止横竖屏切换;横竖屏切
  6. 原始Android的目标机代码结构
  7. Android jni系统变量、函数、接口定义汇
  8. Android使用ADB启动应用程序
  9. Android换肤白天/夜间模式的框架
  10. Android 应用的真正入口 - ZygoteInit.ja