2017-03-17 88 views
3

前几天,I asked a question about a bug I found in LaravelDB返回字符串而不是int(mysqlnd for PHP-7.1/Laravel)

为了解决这个问题,我在我的服务器上安装了php5-mysqlnd。

今天,我将我的应用程序升级到了最新的php 7.1。*。一切工作正常,除了错误再次回来,即数据库中的整数作为字符串返回,这不符合我的严格比较。

我试图找到一个用于php 7.1的mysqlnd包,但是没有(但?)。但mysqlnd似乎启用,虽然...

的phpinfo()

PHP Version => 7.1.3-2+0~20170315222009.20+jessie~1.gbpc7e7dd 
System => Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 

mysqlnd 
mysqlnd => enabled 
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $ 

pdo_mysql 
PDO Driver for MySQL => enabled 
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $ 

输出在localhost:

“身份证” 上的服务器=> 5

输出:

“ID”=> “5”

1 /有别的我应该看?

2 /在一般情况下,我应该重构我的代码接受数据库中的字符串,而不是期望整数?

谢谢。

+0

您是否在为您的查询使用'mysqli'或'PDO'? –

+0

@TomUdding我正在使用Laravel 5.4和PDO。 – Jachinair

+0

你用于表中'id'字段的数据类型? –

回答

2

叹气,我很笨!至少我今天学到了一些东西。

phpinfo()来自控制台的php版本,而不是Apache。 原来php7.1和mysqlnd未在Apache中加载。

现在一切正常...

+0

保重,php可以有很多ini文件 –