gpt4 book ai didi

php - 存储过程准备语句错误mysql php

转载 作者:行者123 更新时间:2023-11-29 00:09:55 25 4
gpt4 key购买 nike

这是我的存储过程:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `testProc`(IN num INT, INOUT num2 INT(11))
BEGIN
set num2 = num+num2+7;
END

这是调用它的代码:

if ($stmt = mysqli_prepare($con, 'call testProc(?,?)')) {
mysqli_stmt_bind_param($stmt, 'ii', $type, $newId);
mysqli_stmt_execute($stmt);
echo $newId;
exit;
}

这是我得到的错误:

<b>Warning</b>:  mysqli_stmt_execute(): Premature end of data (mysqlnd_wireprotocol.c:1116) in

我不明白。这么简单的事情怎么会失败呢?当我试图建立一个简单的例子时遇到了这堵砖墙,我只是想弄清楚如何使用存储过程从准备好的语句中取回值。请帮忙,因为在我解决这个问题之前我无法提供示例,所以我无法解决真正的问题。谢谢。

最佳答案

我认为你应该在 bind_param 之后使用 bind_result。

查看 http://php.net/manual/en/mysqli-stmt.bind-result.php

和之前的堆栈溢出问题:mysqli bind_param() fatal error

关于php - 存储过程准备语句错误mysql php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25652403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com