pdo::attr\u stringify\u fetches=false不再强制pdo返回int

1yjd4xko  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(361)

因为有几天我有一个应用程序(在我还没有完全访问权限的客户机服务器上)拒绝遵守 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?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题