php使用mysqli
mysqli全稱為MySQL Improved Extension,是php語言中專門用于訪問MySQL數據庫的擴展模塊,它具有許多優點,包括速度比較快、安全性較高,而且支持了多種語句查詢,開發者可以通過mysqli連接到數據庫并執行查詢,具有很高的靈活性和可編程性。下面就來詳細介紹下mysqli的使用方法。
1. 連接數據庫
mysqli連接數據庫需要用到用戶名、密碼、數據庫名和主機名,有兩種方法,一種是面對對象的方式,另一種是面對過程的方式,以面對對象的方式為例:
$mysqli = new mysqli("localhost", "username", "password", "database"); if ($mysqli->connect_error) { die("連接數據庫失敗: " . $mysqli->connect_error); } echo "連接數據庫成功!";
如果連接出現問題,直接輸出錯誤信息,后面的代碼也不會執行。
2. 執行查詢
mysqli執行查詢時可以通過兩種方式,一種是面對對象的方式,另一種是面對過程的方式。下面分別介紹這兩種方式:
2.1 面對對象的方式
在mysqli面對對象的方式中,可以使用query()函數來進行查詢,其語法如下:
$result = $mysqli->query("SELECT * FROM table_name"); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " Age: " . $row["age"]. "<br>"; } } else { echo "0 結果"; }
這里的query()函數將返回一個mysqli_result對象,可以使用num_rows屬性來判斷是否有數據查詢到,如果有數據,則使用fetch_assoc()方法來獲取查詢結果。
2.2 面對過程的方式
在mysqli面對過程的方式中,可以使用mysqli_query()函數來進行查詢,其語法如下:
$result = mysqli_query($mysqli, "SELECT * FROM table_name"); if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. " Age: " . $row["age"]. "<br>"; } } else { echo "0 結果"; }
這里的mysqli_query()函數直接返回查詢結果,可以使用mysqli_num_rows()函數來判斷是否有數據查詢到,如果有則使用mysqli_fetch_assoc()函數來獲取查詢結果。
3. 預處理語句
mysqli中提供了預處理語句來進行更加安全的查詢,這種方法可以防止SQL注入攻擊,可以使用PreparedStatement的方式來預處理查詢語句。具體過程如下:
//創建prepared statement $stmt = $mysqli->prepare("SELECT * FROM table_name WHERE name=? AND age=?"); //綁定參數 $stmt->bind_param("si", $name, $age); //設置參數并執行 $name = "Tom"; $age = 20; $stmt->execute(); //獲取結果 $result = $stmt->get_result(); if($result->num_rows > 0){ while($row = $result->fetch_assoc()){ echo "id: " . $row["id"]. " - Name: " . $row["name"]. " Age: " . $row["age"]. "<br>"; } } else { echo "0 結果"; }
這里的bindParam()方法用來綁定參數,第一個參數是預處理語句中參數的類型,"si"代表兩個參數的類型,s表示字符串類型,i表示整數類型,第二個參數是你要查詢的數據;第二個參數是通過變量的方式傳遞進去的,這樣可以避免SQL注入攻擊。
4. 關閉連接
mysqli使用完畢后需要釋放資源,也就是關閉連接,這里提供兩種方法,一種是面對對象的方式,另一種是面對過程的方式:
4.1 面對對象的方式
$mysqli->close();
4.2 面對過程的方式
mysqli_close($mysqli);
這里分別對mysqli進行了關閉操作。
總結
以上就是mysqli的基本使用方法,從連接數據庫到查詢數據等操作都已經講解清楚,如果您還有其他的問題,可以參考官方文檔或者其他相關教程。