3

我有一个问题涉及在 mysqli 准备好的语句中使用存储过程。我将展示的代码片段确实有效,我只是想知道为什么。准备好的语句调用一个带有 6 个参数的存储过程,其中第 6 个是 OUT 参数。

    if (!($stmt = $this->sql->prepare("CALL registerUser(?,?,?,?,?,?);"))) { ... }
    $stmt->bind_param("issisi", $id, $email, $pwd, $ip, $actKey, $notUsed);
    $stmt->execute();
    $stmt->bind_result($isSuccessful);
    $stmt->fetch();
    $stmt->close();
    $this->sql->close();

OUT 参数绑定到

$notUsed

执行后不会产生任何值,但是

$isSuccessful

我绑定到结果,确实从过程中返回了OUT参数,这个返回值可以是0或1,我已经多次确认了。我只是不明白为什么会发生这种情况,因为该过程不会产生任何结果。

4

0 回答 0