也许这是个显而易见的问题,但我想确定.

我如何知道它是否是活动驱动程序?

我正在运行PHP5.3和MySQL 5.1.37.

phpinfo()输出的提取

mysql
MySQL Support   enabled
Active Persistent Links     0
Active Links    0
Client API version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $ 

mysqli
MysqlI Support  enabled
Client API library version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
Active Persistent Links     0
Inactive Persistent Links   0
Active Links    26 

mysqlnd
mysqlnd enabled
Version     mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $ 

PDO
PDO support enabled
PDO drivers     mysql

pdo_mysql
PDO Driver for MySQL    enabled
Client API version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $ 

我正在使用PDO,PDO驱动程序说mysql...

推荐答案

Warning!这种方法不可靠,自PHP8.1以来不起作用

如果您是通过mysqli访问,这应该可以做到:

<?php
$mysqlnd = function_exists('mysqli_fetch_all');

if ($mysqlnd) {
    echo 'mysqlnd enabled!';
}

要检测它是否是活动的PDO驱动程序,请创建MySQL PDO对象,然后:

if (strpos($pdo->getAttribute(PDO::ATTR_CLIENT_VERSION), 'mysqlnd') !== false) {
    echo 'PDO MySQLnd enabled!';
}

Mysql相关问答推荐

对具有依赖子查询结果的2列使用等式比较来优化连接

SQL:CAST与窗口函数组合导致语法错误

MySQL将JSON值从对象类型更改为数组

根据SQL中的平均范围对学生进行排名

递归查询意外地为一个字段返回空值

子查询是否可以按主查询中的列进行分组?

我可以在姓名和姓名日期之间进行搜索吗?

生成json数据并根据特定表的匹配条件进行过滤

如何在 mysql 中获取 Day Wise 的平均值?

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

为什么以及如何将 Django filter-by BooleanField 查询转换为 SQL WHERE 或 WHERE NOT 而不是 1/0?

Laravel 查询构建器 where() 用于何时产品必须有多个标签(使用 product_tags 数据透视表多对多)

MySQL 如何处理并发插入?

将相同的固定值插入多行

你如何在 Node.js 中模拟 MySQL(没有 ORM)?

默认为空字符串的列

如何从 MySQL Workbench 中的图表生成 SQL 脚本?

PHP MySQLI 防止 SQL 注入

MySQL中的行值增加和减少1

MySQL - 我如何输入 NULL?