PHP mysqli是一種用於連接MySQL數據庫的PHP擴展。使用mysqli,您可以更快、更簡單地進行數據庫操作,從而更好地處理數據。
一、mysqli連接MySQL數據庫
使用mysqli連接MySQL數據庫非常簡單。首先,您需要創建一個mysqli對象,它表示數據庫的連接。例如:
$mysqli = new mysqli("localhost", "root", "", "mydatabase");
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
}
這將創建一個mysqli對象,將其連接到名為mydatabase的數據庫。如果連接失敗,代碼將輸出連接錯誤。否則,您可以在此對象上執行查詢,並使用它處理結果。
二、mysqli查詢
一旦連接到數據庫,您可以使用mysqli對象執行查詢。例如,下面的代碼執行一個簡單的SELECT查詢,並遍歷結果集以提取結果:
$result = $mysqli -> query("SELECT * FROM mytable");
while ($row = $result -> fetch_assoc()) {
echo "Name: " . $row["name"] . " - Age: " . $row["age"];
}
這將執行SELECT * FROM mytable查詢,並顯示每個行的名稱和年齡。如果查詢失敗,代碼將輸出查詢錯誤。
三、mysqli預處理
當您需要多次執行相同的查詢時,mysqli預處理提供了更好的性能。您可以將查詢中帶有變量的部分標記為?,使用bind_param()方法為每個變量傳遞值,並使用execute()方法執行查詢。以下是一個簡單的示例:
$stmt = $mysqli -> prepare("INSERT INTO mytable (name, age) VALUES (?, ?)");
$name = "John";
$age = 30;
$stmt -> bind_param("si", $name, $age);
$stmt -> execute();
$name = "Jane";
$age = 25;
$stmt -> bind_param("si", $name, $age);
$stmt -> execute();
這將預處理INSERT INTO mytable (name, age) VALUES (?, ?)查詢,並執行兩次,插入兩行數據。注意,在bind_param()方法中,第一個參數是一個字符串,表示每個變量的數據類型。在此示例中,s表示字符串,i表示整數。
四、mysqli事務
在執行多個查詢時,mysqli事務提供了一種將多個操作組合在一起的方法。事務允許您將多個查詢作為一個整體,如果其中任何一個查詢失敗,則可以回滾所有更改。以下是一個簡單的示例:
$mysqli -> begin_transaction();
$mysqli -> query("INSERT INTO mytable (name, age) VALUES ('John', 30)");
$mysqli -> query("INSERT INTO mytable (name, age) VALUES ('Jane', 25)");
$mysqli -> commit();
在此示例中,begin_transaction()方法啟動一個事務。接下來,兩個INSERT INTO查詢被執行。如果其中任何一個查詢失敗,commit()方法將永遠無法調用。否則,所有更改都將提交到數據庫。
五、mysqli關閉連接
一旦完成所有數據庫操作,您需要關閉mysqli連接。這可以通過調用close()方法來完成:
$mysqli -> close();
一旦關閉mysqli連接,您將無法再執行任何數據庫操作。因此,確保您在必要的時候關閉它。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/197682.html