mysql inputoutput_PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程
從PHP,我想在MySQL中調用存儲過程。該過程采用輸入 和 輸出參數- 而不是 “ INOUT” 參數。
對于一個簡單的示例,說我在MySQL中具有以下存儲過程:
DELIMITER $$
DROP PROCEDURE IF EXISTS `test_proc`$$
CREATE PROCEDURE `test_proc`(
in input_param_1 int,
in input_param_2 int,
in input_param_3 int,
out output_sum int,
out output_product int,
out output_average int
)
BEGIN
set output_sum = input_param_1 + input_param_2 + input_param_3;
set output_product = input_param_1 * input_param_2 * input_param_3;
set output_average = (input_param_1 + input_param_2 + input_param_3) / 3;
END$$
DELIMITER ;
現在,從PHP腳本/頁面的角度說,我有以下變量(我們將它們稱為“ proc輸入變量”),在我調用它時,我想將它們作為 輸入 參數饋入存儲過程:
$procInput1 = "123";
$procInput2 = "456";
$procInput3 = "789";
假設在PHP腳本/頁面方面,我還有以下變量(我們將它們稱為“ proc輸出變量”),我想將這些變量作為 輸出 參數提供給存儲過程,以在調用時 由
存儲過程 設置 它:
$procOutput_sum;
$procOutput_product;
$procOutput_average;
因此,從本質上講,在PHP腳本/頁面方面,我想做的就是 ( 實際上 我意識到以下代碼無效) ,…
call test_proc($procInput1, $procInput2, $procInput3, $procOutput_sum, $procOutput_product, $procOutput_average);
…以及以下被稱為PHP的代碼…
echo "Sum: ".$procOutput_sum;
echo "Product: ".$procOutput_product;
echo "Average: ".$procOutput_average;
…應產生以下輸出:
Sum: 1368
Product: 44253432
Average: 456
一個警告是,如果可能的話,我希望能夠使用MySQLi 程序 功能/接口來做到這一點。如果不可能,那么我將使用它。
我已經進行了一段時間的編程,但是PHP語言對我來說是一個相對較新的工作。我發現了大量關于從PHP調用MySQL存儲過程的教程。有些是使用 輸入
參數調用存儲過程的教程,有些是使用 輸出 參數調用存儲過程的教程,有些是使用 inout
參數調用存儲過程的教程。我還沒有發現在調用該取存儲過程任何教程或示例 都 輸入 并 在同一時間輸出參數,而特別 不 使用“
inout”參數。我在弄清楚如何對參數綁定進行編碼(例如:mysqli_stmt_bind_param和mysqli_stmt_bind_result)時遇到麻煩,并使它們全部正常工作。
任何幫助將不勝感激,我先感謝!
總結
以上是生活随笔為你收集整理的mysql inputoutput_PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java小结(二)——打印矩形和九九乘法
- 下一篇: 进制转换图解