2010-08-27 55 views
3

我一直在使用php已經有一段時間了,並且遇到了三種不同的界面, mysql_*, mysqli_* and PDO與mysql數據庫連接。我無法理解的是爲什麼有這麼多的接口相同..如果一個更好,那一個?或者是選擇一個還是另一個之間的選擇問題。每個接口的性能和速度是否存在差異?哪個mysql庫應該在php中使用,爲什麼

回答

4

儘管mysql(procedural)和mysqli(OO)是MySQL客戶端庫,但PDO是一個數據訪問抽象層,它允許您使用不同的數據庫驅動程序。 PDO的一個優點是,你可以在理論上改變你的數據庫驅動,而不用重寫你的查詢代碼。

我建議您檢查http://php.net/manual/en/mysqli.overview.php,其中簡要討論了這3個庫之間的區別。

1

與MySQL相比,MySQLi擴展是一個新的改進的數據庫驅動程序(因此是)。 使用MySQLi,您可以充分利用準備好的語句以及fcingolani所說的功能。

PDO是一個數據訪問抽象層,它有許多驅動程序,如MsSQL,MySQL和PostgreSQL。

1

如果你真的只使用MySQL,你應該使用MySQLi,因爲它特定於MySQL,速度更快,常規的MySQL。如果你現在在做MySQL,但可能在將來做Postgree或任何數據庫,PDO會從實際的數據庫中抽象出你的數據庫邏輯,所以應該是你的選擇。

MySQLi是稍快對某些操作PDO

相關問題