这个问题我想了很久,但是一直没听到解释。
我猜测要么是 MySQL 的 C API 根本没有构造成以其原始类型传递数据(这听起来像是一个设计缺陷),要么是原始的 mysql 驱动程序(被 mysqli 驱动程序取代)设计不当并且mysqli 驱动程序试图向后兼容。
我理解 PostgreSQL 在 PHP 中转换类型,大部分情况下.. 为什么 MySQL 不呢?将所有值作为字符串返回是其他语言和 RDBMS 中的常见做法吗?
最佳答案
mysql
很旧。 mysqli
更好(“I”当然代表“改进”),PDO
优于所有,并且至少了解 bin/int/char 差异。
关于php - 为什么 PHP 的 MySQL 驱动程序不转换数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415062/