从 MySQL 返回整数和数字作为 PHP 中的整数和数字
许多开发人员遇到 MySQL 查询将整数和数字列返回为PHP 中的字符串。这是由于本机 MySQL 驱动程序的默认行为,它不支持返回数字类型。
解决方案:使用 mysqlnd 驱动程序
解决方案是使用 PHP 的 mysqlnd 驱动程序。 mysqlnd 驱动程序是一个更现代、功能更丰富的驱动程序,它能够将数字列返回为整数和数字。
识别您是否正在使用 mysqlnd
要检查您是否正在使用 mysqlnd 驱动程序,请打开 PHP 信息 (php -i) 页面并查看“PDO Driver for MySQL”部分。如果那里提到“mysqlnd”,那么您正在使用 mysqlnd 驱动程序。否则,您很可能使用本机 MySQL 驱动程序。
在 Ubuntu 上安装 mysqlnd
要在 Ubuntu 上安装 mysqlnd 驱动程序,您可以使用以下命令:
sudo apt-get install php5-mysqlnd
重新启动Apache
安装 mysqlnd 驱动程序后,您需要重新启动 Apache 以使更改生效。
验证驱动程序
Apache 重新启动后,您可以通过打开 PHP 信息页面 (php -i) 再次检查 mysqlnd 驱动程序是否正在使用。现在应该在“MySQL 的 PDO 驱动程序”部分中明确提及“mysqlnd”。
PDO 设置
确保将以下 PDO 设置设置为 false防止潜在问题:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
已退回值
根据数据库类型,将返回不同类型的数据,如下所示:
以上是如何确保 MySQL 整数和数字列在 PHP 中作为正确的数据类型返回?的详细内容。更多信息请关注PHP中文网其他相关文章!