2011-02-04 56 views
1

配置Doctrine2並建立連接後,我還需要使用Doctrine對整個應用程序連接到運行mysql_query()(我不」還需要使用mysql_connect()mysql_select_db(),因爲它需要時間)。運行的mysql_query()與Doctrine2

如何從Doctrine的連接獲得$link_identifiermysql_query()的第二個參數)?

resource mysql_query (string $query [, resource $link_identifier ]) 

版本:2.0.1學說

回答

0

你不想使用的mysql_query,即帶走所有的學說的優勢。

http://www.doctrine-project.org/docs/dbal/2.0/en/reference/data-retrieval-and-manipulation.html顯示您可以通過Doctrine調用的所有方法,並仍處理普通的舊SQL。這可能是你最好的選擇。

+1

我不介意這個,但應用程序非常大,我不能同時替換所有mysql_query的用法。所以我想留下一些代碼使用它和一些代碼使用Doctrine只有一個連接。 – 2011-02-04 14:03:34

+0

好的。您可能必須使用我聽說過的PECL擴展 - runkit - 它允許您在運行時重新定義PHP函數。這將允許你爲mysql_query創建一個包裝器,它可以讓你運行Doctrine。否則,問題是mysql_query需要它自己的連接形式,而Doctrine需要基於PDO的連接。 2與我的知識不兼容。 – 2011-02-04 14:30:48

0

問題是,學說使用PDO。 mysql_函數集在早期的PHP 4.0中引入,起源於2000年7月左右。

PDO是在PHP5中引入的。我認爲在教義中,你可以通過以下方式獲得PDO對象: 祝你好運!

0

Doctrine2使用PDO而不是mysql_。您不能將PDO連接轉換爲mysql_ *,您必須再次連接。