MySQL是一種廣泛使用的數(shù)據(jù)庫管理系統(tǒng),可用于支持廣泛的項(xiàng)目。它的主要賣點(diǎn)之一是它能夠不費(fèi)吹灰之力地管理大量數(shù)據(jù)。有兩種方法可以用來連接 MySQL 和PHP代碼,下面會(huì)提到。
- PDO(PHP 數(shù)據(jù)對象)
- MySQLi 擴(kuò)展
讓我們更多地了解這兩個(gè)選項(xiàng)。
數(shù)據(jù)庫抽象層是PHP 數(shù)據(jù)對象 (PDO)擴(kuò)展。它用作后端與 MySQL 數(shù)據(jù)庫交互并在不更改 PHP 代碼的情況下進(jìn)行更改的用戶界面。它還允許您同時(shí)處理多個(gè)數(shù)據(jù)庫。使用 PDO 的主要好處是它使您的代碼保持簡單和可移植。
MySQLi是一個(gè)連接器函數(shù),用于將 PHP 應(yīng)用程序的后端連接到 MySQL 數(shù)據(jù)庫。它的執(zhí)行方式與以前的版本相同,但更安全、更快,具有更全面的功能和擴(kuò)展集合。在 PHP 5.0.0 中啟動(dòng)了 MySQLi,并在 PHP 5.3.0 中安裝了驅(qū)動(dòng)程序。創(chuàng)建 API 是為了與 MySQL 4.1.13 及更高版本一起使用。
與 MySQL 連接:在訪問 MySQL 數(shù)據(jù)庫中的數(shù)據(jù)之前,需要能夠連接到服務(wù)器。根據(jù)您的連接方式使用mysqli_connect()函數(shù)建立數(shù)據(jù)庫連接。此函數(shù)返回一個(gè)數(shù)據(jù)庫連接指針,也稱為數(shù)據(jù)庫句柄。稍后將在代碼中使用此句柄。請記住在獲得句柄后添加您的數(shù)據(jù)庫憑據(jù)。
1. 通過 PDO 連接 –下面的 PDO 示例中還提供了一個(gè)數(shù)據(jù)庫(“geeksDatabase”)。要連接到數(shù)據(jù)庫,PDO 需要一個(gè)有效的數(shù)據(jù)庫,否則會(huì)引發(fā)異常。
- PHP
<?php ? $servername = "localhost" ; $username = "user" ; $password = "123456" ; $dbName = "geeksDatabase" ; ? try { ? ???? // Creating the connection ???? $conn = new PDO( "mysql:host=$servername;dbname=$dbName" ,? ???????????????????? $username , $password ); ??? ???? // Setting the PDO error mode to exception ???? $conn ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ???? echo "Connection established successfully..." ; ??? ???? // To close the connection ???? $conn = null; }? ? // If connection fails? catch (PDOException $e ) { ? ?????? // Throws the error message? ???? echo "Connection failed: " . $e ->getMessage(); } ? ?> |
輸出:
連接建立成功...
2. 通過 MySQLi 連接 -
- PHP
<?php ? $servername = "localhost" ; $username = "user" ; $password = "123456" ; $dbName = "geeksDatabase" ; ? // Creating connection $conn = mysqli_connect( $servername ,? ????????? $username , $password , $dbName ); ? // Checking connection if (! $conn ) { ? ?????? // If connecting fails ???? die ( "Connection failed: " . mysqli_connect_error()); } ? echo "Connection established successfully..." ; ? // Close the connection?? mysqli_close( $conn ); ? ?> |
輸出:
連接建立成功...