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

Susan Sarandon
發布: 2024-11-07 05:21:03
原創
207 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!