【发布时间】:2011-07-16 10:34:12
【问题描述】:
我在 MySQL 数据库中有一个表字段:
userid INT(11)
所以我用这个查询将它调用到我的页面:
"SELECT userid FROM DB WHERE name='john'"
然后处理我做的结果:
$row=$result->fetch_assoc();
$id=$row['userid'];
现在如果我这样做:
echo gettype($id);
我得到一个字符串。这不应该是一个整数吗?
【问题讨论】:
-
MySQL 查询提供行值而不是行类型或任何其他相关信息。只是每个表格单元格中的原始数据。您必须在 PHP 中考虑这一点
-
如果需要列类型,请看这里forums.whirlpool.net.au/archive/526795
-
对于读者来说,选择的答案涉及遍历结果。但是有一个更好的解决方案。 stackoverflow.com/a/1197424/5079380
-
@DanHanly - 从技术上讲,MYSQL 查询(在 PHP 中)返回单元格值的 字符串表示 - 存储在数据库中的 32 位整数的实际单元格值是 ... 一个 32 位整数,而不是一串数字。
-
对我来说,当我使用
$conn->query("your query")时,我得到了整数字段作为字符串,但是当我使用$conn->prepare("your query")时,我得到了数据库中的参数
标签: php mysql types int gettype