PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程

PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程,第1张

PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程

不幸的是,MySQLi 对输出sproc参数没有任何本机支持。必须将其输出到MySQL 用户变量,然后使用单独的

SELECT
语句获取值。

使用程序界面

$procInput1 = 123;$procInput2 = 456;$procInput3 = 789;$mysqli = mysqli_connect();$call = mysqli_prepare($mysqli, 'CALL test_proc(?, ?, ?, @sum, @product, @average)');mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);mysqli_stmt_execute($call);$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');$result = mysqli_fetch_assoc($select);$procOutput_sum     = $result['@sum'];$procOutput_product = $result['@product'];$procOutput_average = $result['@average'];

或者,使用面向对象的界面:

$procInput1 = 123;$procInput2 = 456;$procInput3 = 789;$mysqli = new mysqli();$call = $mysqli->prepare('CALL test_proc(?, ?, ?, @sum, @product, @average)');$call->bind_param('iii', $procInput1, $procInput2, $procInput3);$call->execute();$select = $mysqli->query('SELECT @sum, @product, @average');$result = $select->fetch_assoc();$procOutput_sum     = $result['@sum'];$procOutput_product = $result['@product'];$procOutput_average = $result['@average'];


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4976226.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存