MySQL和MySQLi是PHP中兩個最常用的擴展,用于與MySQL數(shù)據(jù)庫進行交互。MySQLi是MySQL的增強版本,提供更好的性能和更豐富的功能,因此在開發(fā)中推薦使用MySQLi。
MySQLi支持面向?qū)ο蠛兔嫦蜻^程兩種風格的編程方式,提供了一系列的類和函數(shù)供開發(fā)者使用。下面是一個面向過程的MySQLi連接數(shù)據(jù)庫的示例:
$conn = mysqli_connect("localhost", "username", "password", "database_name"); if(!$conn) { die("連接失敗: " . mysqli_connect_error()); }
在代碼中,我們首先調(diào)用mysqli_connect()函數(shù)創(chuàng)建一個MySQLi連接實例,需要傳遞四個參數(shù):主機名、用戶名、密碼以及要連接的數(shù)據(jù)庫名。如果連接失敗,將會返回false,我們可以調(diào)用mysqli_connect_error()函數(shù)獲取具體的錯誤信息。
MySQLi提供了大量的函數(shù)用于對數(shù)據(jù)庫進行增、刪、改、查等操作。下面是一個查詢數(shù)據(jù)的示例:
$sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); if(mysqli_num_rows($result) >0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"] . " - 姓名: " . $row["name"] . " - 年齡: " . $row["age"] . "
"; } } else { echo "0 結果"; } mysqli_close($conn);
在代碼中,我們首先將查詢語句賦值給$sql變量,然后調(diào)用mysqli_query()函數(shù)執(zhí)行查詢,將結果賦值給$result變量。我們可以調(diào)用mysqli_num_rows()函數(shù)獲取結果集的行數(shù),然后使用mysqli_fetch_assoc()函數(shù)逐行獲取結果集的數(shù)據(jù)并輸出到屏幕上。
最后,我們需要調(diào)用mysqli_close()函數(shù)關閉與數(shù)據(jù)庫的連接。