【问题标题】:How to get connection resource from PDO object?如何从 PDO 对象获取连接资源?
【发布时间】:2012-12-12 02:20:42
【问题描述】:

我需要从已经存在的 PDO 对象中获取连接资源。 例如:

...
$oPDO = new PDO($sOdbcDsn);
$rOdbcConnection = $oPDO -> getConnection();
odbc_prepare($rOdbcConnection, $sQuery);
...

反之亦然,我想将现有连接传递给 PDO 构造函数。 我希望能够分别处理 PDO 对象和直接连接。

有没有办法从 PDO 中提取连接?

【问题讨论】:

  • 为什么要在 PDO 和过时的查询机制之间来回切换? PDO 可以处理您需要的任何事情,同时还提供额外的证券。
  • 我不确定它是否有所作为,它是 RDBMS 在内部管理连接池并为连接 ID 分配属性。传递连接对象可能不会将关联的连接传递给 RDBMS。
  • 布拉德,PDO 已经知道很长时间没有修复 BLOB 数据字段的错误,我基于 PDO 的数据库后端无法处理这些 BLOB 查询。所以我必须想办法解决。
  • @user1581268 您想通过传递$oPDO 作为对象在代码中的任何位置使用PDO 连接详细信息吗?
  • @user1581268 从 PDO 对象中获取一些指向连接详细信息的指针就足够了

标签: php pdo odbc


【解决方案1】:

我认为你有两个选择:

  1. 将您的 PDO 连接(和方法)包装在一个您可以随意传递的类中。定义一个将重用连接句柄的复制构造函数。

  2. 从 PHP 源代码中挖掘出 PDO 对象的源代码,然后从那里构建您需要的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多