php mysqli鏈接數(shù)據(jù)庫(kù)
在使用php進(jìn)行網(wǎng)站開發(fā)的時(shí)候,鏈接數(shù)據(jù)庫(kù)是一個(gè)必不可少的環(huán)節(jié)。php mysqli是php官方提供的鏈接mysql數(shù)據(jù)庫(kù)的擴(kuò)展,它可以提供更好更快的性能,更安全的訪問(wèn)方案。
我們來(lái)看一個(gè)例子:
$servername = "localhost"; $username = "root"; $password = "123456"; $dbname = "test"; // 創(chuàng)建鏈接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 檢測(cè)鏈接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully";
以上代碼就是一個(gè)基本的php mysqli鏈接mysql的例子,接下來(lái)我們來(lái)逐個(gè)解析。
1. 創(chuàng)建鏈接
創(chuàng)建鏈接需要4個(gè)參數(shù):
- 服務(wù)器名稱。比如localhost
- 登陸數(shù)據(jù)庫(kù)的用戶名。
- 密碼。數(shù)據(jù)庫(kù)的密碼。
- 數(shù)據(jù)庫(kù)名稱。默認(rèn)情況下,您可以在 MySQL 中有多個(gè)數(shù)據(jù)庫(kù)。請(qǐng)指定要使用的數(shù)據(jù)庫(kù)名稱。
$conn = mysqli_connect($servername, $username, $password, $dbname);
如果沒(méi)有問(wèn)題,mysqli_connect()函數(shù)將返回一個(gè)連接對(duì)象。但是如果有錯(cuò)誤,我們可以使用mysqli_connect_error()函數(shù)來(lái)查看錯(cuò)誤代碼。
2. 檢測(cè)鏈接
一旦我們成功地創(chuàng)建了鏈接,我們需要檢測(cè)它是否工作正常。如果測(cè)試失敗,我們需要找出原因并立即解決問(wèn)題。
if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully";
如果鏈接失敗了,則會(huì)輸出類似這樣的錯(cuò)誤信息:
Connection failed: Access denied for user 'root'@'localhost' (using password: YES)
否則會(huì)輸出Connected successfully。
3. 查詢數(shù)據(jù)
鏈接成功后,我們可以通過(guò)mysqli_query()函數(shù)向數(shù)據(jù)庫(kù)查詢數(shù)據(jù)。以下是一個(gè)查詢數(shù)據(jù)的例子:
$sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) >0) { // 輸出數(shù)據(jù) while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 結(jié)果"; }
mysqli_query()函數(shù)執(zhí)行查詢語(yǔ)句并返回結(jié)果集對(duì)象。 可以通過(guò) 循環(huán)語(yǔ)句 來(lái)取回結(jié)果集中的所有數(shù)據(jù)。可以使用 mysqli_num_rows() 函數(shù)來(lái)查看結(jié)果集中的行數(shù)。
以上就是php mysqli鏈接mysql數(shù)據(jù)庫(kù)的一個(gè)基本的例子,最后關(guān)閉鏈接需要使用mysqli_close()函數(shù)。
mysqli_close($conn);