Mariadb读取整数作为string

我有一个Ubuntu实例上的本地MySQL环境,以及在Centos 7实例上运行的实时MariaDB环境。 当使用PHP从表中select整数字段时,该值应该作为整数返回,但是,MariaDB将该值作为string返回。

两个环境都使用Laravel Eloquent ORM运行相同的代码实例,并且我已经检查了每个数据库正在将值存储为整数/小整数等。

使用的代码是:

\App\Item::where('id','=',1)->first()->key_item; 

Mysql,Ubuntu:

 0 

MariaDB,Centos 7:

 "0" 

对我来说,这是一种奇怪的行为,在编程结束时,在评估“if”expression式中的预期整数时会引起错误。

有一些configuration选项,可以强制MariaDB作为整数types返回整数值?

在一个虚拟的Centos 7机器上testing解决scheme之后,我发现解决scheme是用本机驱动程序replacePHP MySQL插件数据库的PHP-MySQL插件层。

这个问题实际上不是与MariaDB和MySQL相关,而是PHP驱动程序。 交换MariaDB for MySQL持续这个问题。 MariaDB-PHP的CentOS 7驱动程序会将整数转换为string,唯一的数据库端解决scheme是将驱动程序换出。

有关本地驱动程序的更多信息可以在这里find: https : //dev.mysql.com/downloads/connector/php-mysqlnd/