PHP経由でストアドプロシージャを呼び出そうとしています。しかし、私は希望の出力を得ていない。 PHPで文法エラーが間違っています。 Stored Procを単独で実行すると、期待どおりに動作します。私はこのコードスニペットを与えているの下に -PHPから返されたMySqliストアドプロシージャ
<?php
$host = "localhost";
$db_user = "userid";
$db_password = "password";
$db_name = "trialdb";
$con = mysqli_connect($host,$db_user,$db_password,$db_name);
$name = $_POST["Name"];
$id = $_POST["Id"];
$storedProc = "CALL CheckNameId(?,?, @returnStatus)";
$stmt = mysqli_prepare($con, $storedProc);
mysqli_stmt_bind_param($stmt,"si",$name, $id);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $returnStatus);
mysqli_stmt_fetch($stmt);
echo $returnStatus;
mysqli_stmt_close($stmt);
mysqli_close($con);
?>
私はmysqli_stmt_bind_paramでの誤差、mysqli_stmt_execute、mysqli_stmt_bind_result ...ブール値として渡された最初のパラメータを有する取得しています。これは$ stmtをブール値として解釈しています。 ご理解いただけますようお願いいたします。 バインド結果を使用している方法が間違っていると思われます。 ストアドプロシージャから「ステートメント」、「結果セット」、または「結果セット」の処理に関する理解のギャップがあるかもしれません。 いいリンクがあれば誰でも提案できますが、私は参考にしたいと思います。
あなたの提案ができます。私はMySql Stored ProcsがPHP内で処理される方法についてもっと理解しようとします。 –