ホームページ >バックエンド開発 >PHPチュートリアル >phpはmysqlストアドプロシージャを呼び出します

phpはmysqlストアドプロシージャを呼び出します

WBOY
WBOYオリジナル
2016-07-29 08:36:211012ブラウズ

以前に「php が mysql ストアド プロシージャを呼び出す」という記事を再録しましたが、テストした結果、記事内の方法は実行不可能であることがわかりました。
select ステートメントを使用してストアド プロシージャを呼び出すと、「PROCEDURE p can't return a result set in the specific context」エラーが発生します。長い間グーグルで調べた結果、mysql公式Webサイトでdb_mysqlモジュールはストアドプロシージャ呼び出しをサポートしていないという記述を見つけました。解決策はdb_mysqliを使用することです。テストしてみたところ、動作しました。
使用法は比較的簡単で、言うことはありません。インターネットからコードをコピーするだけです:
/* MySQL サーバーに接続します */
$link = mysqli_connect(
'localhost', / * 接続するホスト */
'root', /* 接続するユーザー */
'root', /* 使用するパスワード */
'db_name') /* クエリするデフォルトのデータベース */
if (!$link ) {
printf("MySQL サーバーに接続できません。エラーコード: %sn", mysqli_connect_error());
exit;
}
/* サーバーにクエリを送信します */
if ( $result = mysqli_query($ link, "call se_proc('crm')")) {
/* クエリの結果を取得します */
while( $row = mysqli_fetch_array($result) ){
echo ($row[ 0]. "-- ------- SR. " . $row[1] . "
")
/* 結果セットを破棄し、それに使用されているメモリを解放します */
mysqli_free_result($) result);
}
/* 接続を閉じます */
mysqli_close($link)
?>
イライラするのは、私が長い時間をかけて取り組んできたストアド プロシージャが以前ほど効率的でないことです - -

上記は、PHP が mysql ストアド プロシージャを呼び出す方法を内容も含めて紹介したもので、PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。