微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取MySQL查询结果作为其本机数据类型?

如何解决获取MySQL查询结果作为其本机数据类型?

我不认为可以在PHP 5.2 中以其本机数据类型 (即字符串的其他任何形式) 获取数据…

如果我没记错的话,在PHP 5.3中,当您使用新的 (在PHP > = 5.3中是新的) MysqLnd MysqL本机驱动程序) 驱动程序时,就有可能。

在深入浏览书签后,我发现了有关MysqLnd的文章PDO_MYSQLND: The new features of PDO_MYSQL in PHP 5.3

它说(引用):

当使用服务器端的预处理语句时,MysqLnd返回本机数据类型,例如,INT列作为整数变量而不是字符串返回。这意味着内部的数据转换较少。

但这仅是PHP 5.3(前提是您的PHP 5.3版本是使用MysqLnd编译的( 而不是旧的libMysqL ),并且似乎仅适用于准备好的语句:-(

我猜这对您没有帮助。

这是另一个关于MysqLnd的新功能内容,它不仅针对准备好的语句谈论此内容PHP:mysqlnd可以节省新的网络流量,CPU和内存

但是,不确定是否已将其合并到正式的MysqLnd驱动程序中-最好的方法是尝试;但是无论如何,它仍然只能是PHP> = 5.3 …

另一种解决方案是在PHP方面具有某种映射系统 (例如ORM), 以将来自DB的结果转换为PHP数据类型…

是的,如果要使用类型敏感的运算符(例如)===和,这是很不好的!==

解决方法

我尝试使用mysql_fetch_row()和提取MySQL查询结果,mysql_result()并且将数值作为字符串返回。

有什么方法可以将数据存储为表中的数据类型吗?

该应用程序将查询许多不同的查询,因此我将无法基于1乘1将值强制转换为预期的数据类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。