0

我只是想看看是否有办法转移或重用mysql_connect()PDO 打开的连接。我知道这是不正确的(希望能得到这样的想法),但我希望得到类似的东西

$pdo = new PDO($mysql_connect_link); // yes this is wrong, i know!

例如。

原因是我想PDO在我的类中使用来管理查询等,但是,类本身并没有打开到数据库的连接。它需要事先建立连接(我现在一直在通过标准mysql_*() 函数集进行检查。嗯​​,我知道。)

mysql_* 无论用户通过或 ...打开与数据库的连接,我都希望班级的查询能够正常工作PDO……有人对此事有任何想法和/或建议吗?

4

2 回答 2

1

您应该将 mysql_ 函数移植到 PDO。

$pdo = new PDO($mysql_connect_link);

是错误的,因为它需要的参数(见: http: //php.net/manual/fr/pdo.construct.php),但从技术上讲,你可以让两个连接并排运行。虽然,不,您显然不能通过运行 mysql_connect 来运行 PDO 查询。

于 2013-01-04T03:20:20.607 回答
1

我只是好奇是否有办法将 mysql_connect() 打开的连接传输到 PDO。

无论用户通过 mysql_* 或 PDO 打开与数据库的连接,我都希望该类的查询能够正常工作...

很难理解你的理由。

如果要保留两个驱动程序,则还必须保留 2 组功能。并彻底改变班级结构。您必须有一个具有通用方法和 2 个实现的抽象类。没有传递给类的连接,但类本身必须管理连接。不过,我怀疑这样的劳动是否值得。

如果您只想允许使用您的类以及一些遗留的 mysql_* 代码 - 只需从 PDO 打开另一个连接。不惜一切代价避免这不是一件邪恶的事情。这只是一种联系。是的,它会给你的服务器带来轻微的负担,但对于使用这种夹心意大利面的应用程序来说,这将是最少的问题。

于 2013-01-04T06:50:53.550 回答