You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Doctrine\DBAL\Connection获取原生mysqli连接句柄

正确实现方式

Doctrine DBAL的MySQLi驱动连接类提供了公开的原生连接获取方法,不需要操作私有属性,直接调用官方暴露的API即可:

$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams);
/** @var \Doctrine\DBAL\Driver\Mysqli\Connection $driverConnection */
$driverConnection = $conn->getWrappedConnection();
// 调用官方公开方法获取原生mysqli句柄
$mysqli = $driverConnection->getNativeConnection();
var_dump($mysqli);

补充说明

  • 该方法是Doctrine官方对外暴露的公开API,兼容性有保障,不会因为DBAL版本迭代出现不可用的问题
  • 为了代码健壮性可以增加类型判断,避免因为驱动切换导致的错误:
$driverConnection = $conn->getWrappedConnection();
if ($driverConnection instanceof \Doctrine\DBAL\Driver\Mysqli\Connection) {
    $mysqli = $driverConnection->getNativeConnection();
    // 后续业务逻辑
}

内容的提问来源于stack exchange,提问作者hanshenrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:27:01