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にすることができ、何度か確認しました。手順では結果が得られないため、なぜこれが発生しているのかわかりません。