標籤:

為什麼推薦使用MySQLi?

雖然許多項目仍然使用MySQL擴展。但需要留意,使用MySQLi或者PDO O (PHP Data Object)是官方建議的。

為什麼推薦使用MySQLi而不是MySQL呢?

1. 為了安全。MySQLi支持 prepare(預處理)語句 - 這是一種更安全的和資料庫打交道的方式,可以保護你免受SQL注入。僅憑這一點應該夠選擇MySQLi而不是MySQL

2. MySQLi支持幾乎所有MySQL特性。

3. MySQLi是面向對象的,當然也可以用過程化的方式書寫代碼。

4. MySQLi的支持預處理語句,事務及多條語句。

由於MySQLi只支持MySQL資料庫,如果有跨資料庫平台的需要,那麼就需要使用PDO了。PDO提供了一個抽象層來操作資料庫,支持目前大部分的資料庫,總體上說,它比MySQLi移植性更好,更強勁,更面向對象。PDO是官方大力推薦的,相信越來越多的人會使用它。

許多項目,還是使用舊的MySQL擴展,使用MySQL擴展更多是因為大家習慣了舊的方式方法,各種書籍、文檔也只是簡單敘述如何操作資料庫而沒有從安全、移植性、面向對象、標準的角度去介紹如何使用操作資料庫。我們建議使用更先進、更安全的方式,但最終選擇何種工具、方法,涉及的因素眾多,更多是人員和組織的範疇。


推薦閱讀:

半同步複製介紹
如何看待MySQL發布的Group Replication?
mysql轉mongodb如何解決ID自增?
【原創】MYSQL 的那些「坑」
請問這個PHP下防範MySQL注入攻擊的方法管用嗎?

TAG:MySQL | PHP |