簡體   English   中英

存儲過程准備語句錯誤mysql php

[英]stored procedure prepared statement bug mysql php

這是我的存儲過程:

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()致命錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM