PHP:从mysql_connect()PDO重用开放的MySQL连接?

时间:2013-01-04 03:12:03

标签: php mysql pdo

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

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

例如。

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

我希望类的查询能够正常工作,无论用户是通过mysql_* PDO打开与数据库的连接...有没有人有任何想法和/或有关此问题的建议?

2 个答案:

答案 0 :(得分:1)

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

$pdo = new PDO($mysql_connect_link);

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

答案 1 :(得分:1)

  

我很想知道是否有办法将mysql_connect()打开的连接转移到PDO。

  

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

很难理解你的理由。

如果你想保留两个驱动程序,你还必须保留两组功能。并彻底改变了班级结构。你必须有一个带有常用方法的抽象类和2个实现。没有连接传递给类,但类本身必须管理连接。我怀疑它值得这样的劳动。

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