2011-04-12 37 views
6

可能重複:
Advantages Of MySQLi over MySQLmysqli和mysql的區別?

我建立一個龐大的數據庫,不知道這是最好的使用?

我現在正在清理我的價值觀並逃避角色的安全性,但我想知道這些mysql querys在php中的不同好處?

謝謝。

+2

花費不到一分鐘的時間在http://stackoverflow.com/search?q=[php]+mysql+mysqli中找到三個副本。在提問之前使用搜索功能。 – Gordon 2011-04-12 21:43:32

回答

15

在較舊的MySQL函數中使用MySQLi。 「我」代表「改進」。改進列表可在the docs中找到。

+0

我已經寫了一個用戶創建,驗證和登錄與普通的mysql函數,這是一個很大的好處,以改變它的安全明智嗎? – Basic 2011-04-12 21:21:59

+0

最主要的改進就是它也是面向對象的,@Basic,它可能已經足夠了,但是你會生活在過去的我的朋友,你需要與最新的庫保持同步,以便能夠充分利用最新功能以及關鍵更新。 – RobertPitt 2011-04-12 21:22:18

+1

舊的'mysql_ *'函數也可能不再使用。 – ceejayoz 2011-04-13 00:03:17

2

爲什麼不使用PDO呢?您可以在其他功能中準備好語句,如果您決定在某一天移動到另一個數據庫,這將是一個明智的決定。

http://php.net/manual/en/book.pdo.php

如果你堅持使用上面提到的選項之一,庫MySQLi基本上是一個更面向對象方法的標準MySQL擴展。大多數情況下,它們在功能方面都是一樣的。如果你正在構建一個基於OOP的應用程序,MySQLi可能會是一個更明智,更一致的選擇。

2

首先,您最好在您的代碼和PHP提供的數據庫函數之間使用PDO(如Lior建議的)或中間層(由您編碼),以便您可以輕鬆地使用mysqli或任何您喜歡的方式更改mysql而無需重新編輯您的整個代碼。

由於差異,mysqli有更多的功能(有一堆新的功能),也是面向對象的。

1

從我的角度來看,主要的區別(改進)是mysqli讓你執行多個查詢;這又可以允許您使用out參數或返回結果集來執行存儲過程(並從中檢索結果)。

我同意其他人使用PDO是一個更好的選擇。

0

對於所有那些說使用PDO。僅僅是爲了準備好的陳述?因爲you can do prepared statements in mySQLi without PDO。只是FYI。

+2

是的,但你有沒有試過在生產中使用它們?他們是一個可用性的噩夢。 PDO的界面只是*更好*。 – Charles 2011-04-12 21:41:28