php高版本不再使用mysql_connect()來串連資料庫

來源:互聯網
上載者:User

標籤:

 

想用php產生一個mysql資料字典匯出來,用到下面代碼會

 

$mysql_conn = mysql_connect ( "$dbserver", "$dbusername", "$dbpassword" ) or die ( "Mysql connect is error." );

 

在php5.5.12版本運行會提示

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\soft\develop\php\wamp\2.5\wamp\www\generate_mysql.php on line 16

 

看來會廢棄了,不建議使用了,程式無法啟動並執行。使用mysqli or PDO 來替代。到高版本,根本無法使用這個函數了。

 

我想知道哪個php版本開始就會開始不建議使用這個函數了,所以去官網www.php.net搜尋這個函數。有這樣的介紹:

 

 

本擴充自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴充來替換之。參見 MySQL:選擇 API 指南以及相關 FAQ 以擷取更多資訊。用以替代本函數的有:

 

 

 

  • mysqli_connect()
  • PDO::__construct()

 

 

地址:http://php.net/manual/zh/function.mysql-connect.php\

 

 

 

 

 

 

 

 

 

 

給我們做介面服務的啟發

 

 

到高版本,沒有相容舊太舊版本的函數,為什麼這樣子?從php官方組織維護源碼角度來說,這個函數肯定是沒啥優勢了,去進行最佳化這個函數,還不如對它進行廢棄掉

 

我們在網站,需要提供給介面給公司內部其他子系統調用。也會存在介面升級,原來的介面設計有缺陷,不想去修複了。乾脆建議使用新版本的介面了。

思考,我何不也弄一個類似的提升呢。提示調用方升級到新介面去使用。

突然發現,從溝通成本角度考慮,把提示資訊放在介面返回給調用方,會推進改進的速度。

 

 

為什麼官方要把這個函數禁用掉?而不是去修複,最佳化呢?

效能考慮,安全考慮。去官網找答案

 

 

Recommended API

 

It is recommended to use either the mysqli or PDO_MySQL extensions. It is not recommended to use the old mysql extension for new development, as it has been deprecated as of PHP 5.5.0 and will be removed in the future. A detailed feature comparison matrix is provided below. The overall performance of all three extensions is considered to be about the same(三個擴充的效能不相上下). Although the performance of the extension contributes only a fraction of the total run time of a PHP web request(效能考慮在php的web請求中是一小部分考慮,即不僅僅是效能考慮). Often, the impact is as low as 0.1%(影響是很小的,0.1%)

 

看官網介紹,不是效能考慮才棄用那個擴充。反正就是棄用,不想去維護那個了。我也沒搞清楚。不過深有同感,舊的擴充代碼量也不少,去最佳化,介面結構始終無法達到質的提升,還不如新開一個?

 

mysqli擴充使用了mysqlnd這個庫來操作資料庫。更加推薦。

php高版本不再使用mysql_connect()來串連資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.