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