在Web開發中,與數據庫交互是必不可少的一部分。Mysqli是php語言中用來連接和操作mysql數據庫的擴展庫,當前最新版本為php7。而php5版本下的Mysqli也十分實用,如今許多網站仍在使用php5版本,所以學習mysqli擴展仍具有重要意義。
連接Mysqli是一項相對簡單的任務,只需要調用mysqli_connect()函數即可。如下代碼:
<?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '******'; $dbname = 'testdb'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); if(!$conn) { die('Could not connect: ' . mysqli_error()); } echo 'Connected Successfully'; mysqli_close($conn); //關閉連接 ?>
在上面的例子中,$dbhost,$dbuser,$dbpass和$dbname是連接數據庫所需要的信息。如果連接之后發現出現了錯誤,則會調用mysqli_error()函數打印錯誤信息。mysqli_close()函數用于關閉連接以節省資源。
查詢數據是使用mysqli的最常見操作之一。這個動作可以使用多種方式完成,其中比較常用的是mysqli_query()函數。如下代碼:
<?php $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"] . " - Name: " . $row["name"] . "
"; } } else { echo "0 results"; } mysqli_close($conn); ?>
以上程序將打印出"users"表中所有用戶的ID和名字。mysqli_query()函數接受兩個參數:連接句柄和sql語句。mysqli_fetch_assoc()函數用于將結果集中的每一行轉換為數組,mysqli_num_rows()函數用來獲取結果集中的行數。
插入新數據是查詢數據之外的另一個常見操作。下面是一個簡單的例子:
<?php $sql = "INSERT INTO users (name, email, password) VALUES ('John', 'john@example.com', 'pass')"; if(mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "
" . mysqli_error($conn); } mysqli_close($conn); ?>
該程序插入了一個名為"John"的新用戶到"users"表中。如果操作成功,則會輸出"New record created successfully"。否則,將會拋出錯誤信息提示。
更新現有數據是修改數據庫中數據的一個常見行為。下面是一個例子:
<?php $sql = "UPDATE users SET name='Mary' WHERE id=1"; if(mysqli_query($conn, $sql)) { echo "Record updated successfully"; } else { echo "Error updating record: " . mysqli_error($conn); } mysqli_close($conn); ?>
上述程序將把ID為1的用戶的名字從"John"改為"Mary"。如果操作成功,則輸出"Record updated successfully"。否則,將拋出錯誤信息提示。
刪除現有數據是刪除數據庫中數據的一個常見行為。下面是一個例子:
<?php $sql = "DELETE FROM users WHERE id=1"; if(mysqli_query($conn, $sql)) { echo "Record deleted successfully"; } else { echo "Error deleting record: " . mysqli_error($conn); } mysqli_close($conn); ?>
以上程序刪除了一個ID為1的用戶。如果操作成功,則輸出"Record deleted successfully"。否則,將拋出錯誤信息提示。
總而言之,Mysqli是php語言中連接和操作mysql數據庫的一個十分強大的擴展庫。本文通過介紹Mysqli的一些基礎操作,如何連接、查詢、插入、更新和刪除數據,來幫助讀者掌握這個常用的擴展庫。