首页  >  文章  >  后端开发  >  如何确保在 PHP 中从 MySQL 检索正确的整数和数字数据类型?

如何确保在 PHP 中从 MySQL 检索正确的整数和数字数据类型?

Patricia Arquette
Patricia Arquette原创
2024-11-24 15:01:12939浏览

How to Ensure Correct Integer and Numeric Data Type Retrieval from MySQL in PHP?

如何从 MySQL 中检索 PHP 中的整数和数字作为类型数据

您可能会遇到 MySQL 查询返回字符串数据类型的情况对于 PHP 中的整数和数字列,尽管将“PDO::ATTR_STRINGIFY_FETCHES”选项设置为 false。这种差异源于驱动程序实现问题。

使用 mysqlnd 驱动程序

解决方案在于确保使用正确的驱动程序,即 mysqlnd 驱动程序。当查看“php -i”时,您应该看到“pdo_mysql”部分中明确提到的“mysqlnd”。如果不存在,请按照以下步骤在 Ubuntu 上安装它:

  1. 删除本机 MySQL 驱动程序:

    apt-get remove php5-mysql
  2. 安装 mysqlnd司机:

    apt-get install php5-mysqlnd
  3. 重启Apache2:

    service apache2 restart

PDO 设置

确认 PDO 设置合适:

  • PDO::ATTR_EMULATE_PREPARES 应为false。
  • PDO::ATTR_STRINGIFY_FETCHES 应该为 false。

返回值类型

  • 浮点类型(FLOAT、DOUBLE)以 PHP 形式返回浮点数。
  • 整数类型(INTEGER、 INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT)作为 PHP 整数返回。
  • 定点类型(DECIMAL、NUMERIC)作为字符串返回。

例如,考虑以下返回的对象:

    object(stdClass)[915]
      public 'integer_col' => int 1
      public 'double_col' => float 1.55
      public 'float_col' => float 1.5
      public 'decimal_col' => string '1.20' (length=4)
      public 'bigint_col' => string '18446744073709551615' (length=20)

以上是如何确保在 PHP 中从 MySQL 检索正确的整数和数字数据类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn