MySQL預處理語句使用的一般步驟如下:
PREPARE
語句創建一個預處理語句的模板。例如:PREPARE statement_name FROM 'SELECT * FROM table_name WHERE column_name = ?';
SET
語句綁定參數值到預處理語句中的占位符。例如:SET @param1 = 'value';
EXECUTE
語句執行預處理語句,可以傳遞參數。例如:EXECUTE statement_name USING @param1;
FETCH
語句獲取查詢結果。例如:FETCH ALL FROM statement_name;
DEALLOCATE PREPARE
語句關閉預處理語句。例如:DEALLOCATE PREPARE statement_name;
需要注意的是,預處理語句中的占位符用 ?
表示,每個占位符對應一個參數。執行預處理語句時,可以使用 USING
關鍵字將參數值傳遞給預處理語句。
此外,還可以使用 PREPARE
語句創建一個具有多個占位符的預處理語句,然后在執行時傳遞多個參數。
下面是一個完整的示例:
-- 創建預處理語句
PREPARE stmt FROM 'SELECT * FROM table_name WHERE column_name = ?';
-- 綁定參數
SET @param1 = 'value';
-- 執行預處理語句
EXECUTE stmt USING @param1;
-- 獲取結果
FETCH ALL FROM stmt;
-- 關閉預處理語句
DEALLOCATE PREPARE stmt;