函式名:mysqli::prepare()
適用版本:PHP 5, PHP 7
用法: mysqli::prepare() 函式用於準備一個SQL語句,以便後續執行。它是mysqli類的一個方法,需要透過一個mysqli物件進行呼叫。
語法: mysqli::prepare(string $query) : mysqli_stmt
引數:
- $query:要準備的SQL語句,可以包含佔位符(如"?")。
返回值: 返回一個mysqli_stmt物件,可以用於後續繫結引數和執行查詢。
示例:
// 建立mysqli物件
$mysqli = new mysqli("localhost", "username", "password", "database");
// 檢查連線是否成功
if ($mysqli->connect_errno) {
die("連線失敗: " . $mysqli->connect_error);
}
// 準備SQL語句
$query = "SELECT * FROM users WHERE id = ?";
// 呼叫prepare方法準備語句
$stmt = $mysqli->prepare($query);
// 繫結引數
$id = 1;
$stmt->bind_param("i", $id);
// 執行查詢
$stmt->execute();
// 獲取結果集
$result = $stmt->get_result();
// 迴圈輸出結果
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'];
}
// 關閉結果集和連線
$result->close();
$stmt->close();
$mysqli->close();
注意事項:
- 在呼叫prepare方法之前,需要先建立一個mysqli物件,並確保連線成功。
- 佔位符(如"?")用於在SQL語句中表示引數的位置,可以根據需要使用多個佔位符。
- bind_param方法用於繫結引數,第一個引數是引數型別,可以使用以下型別識別符號:i(整數)、d(雙精度浮點數)、s(字串)、b(BLOB)。
- 執行查詢後,可以使用get_result方法獲取結果集,然後使用fetch_assoc方法迴圈輸出結果。
- 最後記得關閉結果集、語句和連線,以釋放資源。
熱門工具排行榜