php - 在 PHP 中作为整数返回的 MySQL 整数字段

标签 php mysql

我知道MySQL返回数据时,返回的是字符串,不是MySQL数据类型的metter。

那么为什么当我运行这个准备好的语句时我得到一个整数?

    $id = '1';

    sql = "SELECT * FROM
            USER
            WHERE user_id = ? ";

    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param('i', $id);
    $stmt->execute();

    $user = $stmt->get_result();

    return ($user->num_rows == 1) ? $user : NULL ;


    if ($user) {

    while($row = $result->fetch_assoc()) {
        $data = array();
        $data["user_id"]      = $row["user_id"];

    return $data; 

当我运行 php gettype($data['user_id']) 时,我得到一个整数。

我以为数据类型总是会被转换成字符串。

最佳答案

它并不总是以字符串形式返回。也许你正在使用高于 5.3 的 PHP 版本(PHP 5.3 的版本是用 mysqlnd(而不是旧的 libmysql)编译的),使用 mysqlnd 作为 native 驱动程序并且 native 驱动程序适本地返回整数类型。 请检查您当前使用的是哪个版本。 有关更多详细信息,您可以访问此链接。 http://blog.ulf-wendel.de/2008/pdo_mysqlnd-the-new-features-of-pdo_mysql/

关于php - 在 PHP 中作为整数返回的 MySQL 整数字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42325579/

相关文章:

MySQL 查询给出错误的结果

php - MySQL 1253 COLLATION 错误 PHP

php - Yelp API 输出错误

php - 从存储过程 MySQL 返回变量

mysql - 从名称首字母相同的表中选择

mysql - 如何编写 SQL 查询来检查一个表上的多对多关系是否是另一个表上多对多关系的子集?

php - 令人困惑的联接 - 全表,与另一个中的相应记录联接

php - X-Frame-Options 禁止重定向到 PayPal

php - #!在 url 中使网页行为奇怪

php - 首次用户可浏览所有页面的站点