MySQL は 5.0 からストアドプロシージャを導入したようですが、私は以前アプリケーションを扱っていたときは触ったことがありませんでしたが、現在は主に内部システムで使用されているため、多くのアプリケーションがストアドプロシージャを使用することがあります。 MySQL ストアド プロシージャを呼び出す必要があるのですが、PHP MySQL Lib はあまりサポートしていないようですが、情報はあまりありませんが、友人に教えてもらうためにその方法を紹介します。それを使用すると頭が痛くなることはありません。
lMySQL 拡張機能はストアド プロシージャもサポートしますが、ストアド プロシージャが出力した場合、この呼び出しはエラーをスローします。呼び出しメソッドは非常に単純です:
$rs = mysql_query("call func('str')", $conn);
これが文字列などの結果を返す場合、エラーが報告されます。私が今見つけた解決策は、MySQLi 拡張機能を使用することです:
$rs = mysqli_query("call func('str')", $conn);
このように、$rs は通常の MySQL 結果。これは非常に便利です。
ストアド プロシージャを呼び出すときに、複数のストアド プロシージャが連続して呼び出されるという問題が発生する場合もあります。この場合もエラーが報告されます。解決策は、ストアド プロシージャを呼び出して処理を完了した後で MySQL を手動で閉じることです。リンクしてから再度接続し、別のストアド プロシージャを呼び出して処理します。ストアド プロシージャを呼び出すのに必要な回数だけ再接続します。
私は MySQL 拡張機能についてあまり詳しくないので、上記は単なる経験の要約です。詳しく知っている専門家がいたら、アドバイスをお願いします。