因为有几天我有一个应用程序(在我还没有完全访问权限的客户机服务器上)拒绝遵守 PDO::ATTR_STRINGIFY_FETCHES=false
设置。
下面的代码应该返回 integer
(就像在我自己的服务器上一样)
但是在一台服务器上(我给他们发了这个测试代码),它返回了 string
```
$PDO = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME . ";charset=utf8", DB_USER, DB_PASS);
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$PDO->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$PDO->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
$stmt = $PDO->prepare("SELECT * FROM information_schema.tables WHERE table_name='TABLES';");
$stmt->execute();
$tables = $stmt->fetch(PDO::FETCH_ASSOC);
echo "" . gettype($tables['VERSION']) . "";
var_dump($tables);
设置 `PDO::ATTR_STRINGIFY_FETCHES=true` 当然,在我自己的服务器上表现出相同的行为,因为pdo默认返回整数作为字符串。
但是应用程序要求整数在php中是整数。
如前所述;我还没有访问该服务器的权限。有什么建议吗?
#### 更新
我终于得到了一些phpinfo()
mysqlnd现在不见了(原因不明)(应用程序运行正常时它就在那里)
指导系统管理员在博客上激活mysqlnd(再次)
如何启用mysqlnd for php?
暂无答案!
目前还没有任何答案,快来回答吧!