【发布时间】:2014-09-03 19:39:28
【问题描述】:
这是我的存储过程:
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
我不明白。这么简单的事情怎么会失败?当我在尝试设置一个简单示例时碰到这堵砖墙时,我只是想弄清楚如何从带有存储过程的准备好的语句中获取值。请帮忙,因为在我能解决这个问题之前,我无法提供一个例子,所以我无法解决我的真正问题。谢谢。
【问题讨论】:
标签: php mysql stored-procedures prepared-statement