首頁 >資料庫 >mysql教程 >使用 PDO 呼叫預存程序時如何修復'OUT 或 INOUT 參數...不是變數”錯誤?

使用 PDO 呼叫預存程序時如何修復'OUT 或 INOUT 參數...不是變數”錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-07 05:21:03309瀏覽

How to Fix

使用PDO 呼叫帶有Out 參數的預存程序:已解決的Bug

儘管遵循PDO 手冊,您可能會遇到“ OUT 或INOUT 參數” ...不是變數”調用帶有輸出參數的預存程序時出現錯誤。請實作以下解決方法:

在預存程序中,加入
    輸出參數的SELECT
  1. 語句。在您的PHP 程式碼中,使用普通的PDO execute() 方法來呼叫預存程序,而不綁定輸出參數:
DELIMITER //  
CREATE PROCEDURE `proc_OUT` (OUT var1 VARCHAR(100))  
BEGIN  
    SET var1 = 'This is a test';  
    SELECT var1;  -- Select added to retrieve the output parameter
END //  
  1. 執行儲存過程後,使用單獨的query() 呼叫檢索輸出參數:
$stmt = $db->prepare("CALL proc_OUT(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute();

以上是使用 PDO 呼叫預存程序時如何修復'OUT 或 INOUT 參數...不是變數”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn