查詢

mysqli::prepare()函式—用法及示例

「 準備一個SQL語句,以便後續執行 」


函式名: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方法迴圈輸出結果。
  • 最後記得關閉結果集、語句和連線,以釋放資源。
補充糾錯
上一個函式: mysqli::query()函式
下一個函式: mysqli::ping()函式
熱門PHP函式
分享連結