2013-04-25 38 views
2

我正在使用PDO,並且我收到了這條消息,但是從我發現的內容來看,我認爲PDO實際上實現了mysqli。PDO是否實現mysqli或mysql

您正在使用PHP棄用的'mysql'擴展名,它不具備處理多查詢的能力 。 執行一些存儲的例程 可能會失敗!請使用改進後的'mysqli'擴展名來避免任何 問題。

爲什麼我會收到此消息呢?

+0

是的mysql_ * api被棄用,你必須使用新的api連接到像pdo或mysqli這樣的數據庫 – 2013-04-25 03:50:51

+0

@ArunKillu所以如果我使用pdo,沒有必要使用mysqli嗎? – jingchyu 2013-04-25 03:53:25

+0

是的。 'PDO'實現'mysqli'而不是'mysql'。只需查看最新版本。 – BlitZ 2013-04-25 03:54:25

回答

1

Mysql不支持一次運行多個查詢。 Mysql也不支持準備好的語句。因爲你必須使用Mysqli,它支持兩者。

+0

'php_mysql'也不支持存儲過程。 – BlitZ 2013-04-25 03:51:41

+0

@ user2308038在服務器上安裝'mysqli'擴展名並使用本教程http://php.net/manual/en/book.mysqli.php – 2013-04-25 03:53:40

2

這幾乎就像詢問DOMDocumentSimpleXML之間的區別是什麼,或者phppython有什麼區別。它們是不同的庫,儘管它們都是用於連接MySQL數據庫服務器的。

PHP做quite a nice job of cataloging the differences

0

有很多的討論這個話題之前。你最好在互聯網上搜索(甚至只在Stackoverflow中)。

像:

What is difference between mysql,mysqli and pdo?

Difference between mysqli and mysql?

你需要做更多的研究的人。批判性地思考併成爲程序員。 ;)

+0

我沒有問他們之間的區別。我在問爲什麼使用PDO提示該消息,因爲我發現PDO實際上實現了mysqli。 – jingchyu 2013-04-25 04:29:56

+0

然後,第一個鏈接對你會更好。 – 2013-04-25 04:31:38

0

我以爲PDO實際上實現了mysqli。

不錯的問題,但虛假。 PDO實現了接口,以便您可以使用所有數據庫系統。因此,它不能實現mysqli中的某些功能,因爲它們需要一些特殊功能,例如SQLite尚未仿效!當您比較PDO和pgsql_ API時,您會發現類似的問題。