在 PHP 中将 MySQL 数字和整数列转换为整数
问题概述
PHP 查询通常将所有列返回为字符串,即使在处理整数时也是如此或 MySQL 中的数值。当处理具有特定格式要求的数据时,例如多个服务使用的 JSON 输出,这可能会出现问题。
驳斥常见的误解
虽然一些消息来源声称不可能返回数字类型,但这是不完全正确。可以消除以下误解:
- 类型转换:在代码中手动转换值效率低下,并且可能会导致不一致。
- 松散打字:PHP 的松散类型不是一个可靠的解决方案,因为数据可能会无意中转换为strings.
- 驱动程序限制:Linux 上的 MySQL 本机驱动程序不完全支持返回数字类型。不过,有一个解决方法可以确保正确处理。
解决方案
解决此问题的关键是使用 PHP 的 mysqlnd 驱动程序。与本机驱动程序不同,mysqlnd 支持返回整数(INTEGER、INT、SMALLINT、TINYINT、MEDIUMINT、BIGINT)和双精度浮点(DOUBLE)列的数字类型。
安装并确认 mysqlnd
要验证您是否使用 mysqlnd,请运行 php -i。如果 pdo_mysql 部分提到“mysqlnd”,则表明驱动程序存在。否则,请按照以下步骤安装它:
Ubuntu:
- 删除旧驱动程序: apt-get remove php5-mysql
- 安装mysqlnd:apt-get install php5-mysqlnd
- 重启Apache:service apache2重新启动
确认存在:安装后,php -i 现在应该在 pdo_mysql 部分显示 mysqlnd 版本。
PDO 设置
此外,请确保设置以下 PDO 设置正确:
- PDO::ATTR_EMULATE_PREPARES 应为 false
- PDO::ATTR_STRINGIFY_FETCHES 应为 false
返回值类型
- FLOAT 和 DOUBLE 列是以 PHP 浮点数形式返回。
- INTEGER 列以 PHP 整数形式返回。
- DECIMAL 和 NUMERIC 列以字符串形式返回。
示例
通过 mysqlnd 和正确的 PDO 设置,您现在可以查询 MySQL 表并获取预期的数值格式:
$result = $pdo->query('SELECT * FROM table'); $row = $result->fetch(PDO::FETCH_OBJ); echo $row->integer_col; // 1 (integer) echo $row->double_col; // 1.55 (float) echo $row->decimal_col; // '1.20' (string)
以上是如何确保 MySQL 数字和整数列在 PHP 中作为正确的数据类型返回?的详细内容。更多信息请关注PHP中文网其他相关文章!

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),