ホームページ  >  記事  >  バックエンド開発  >  PHP を使用してデータベースのストアド プロシージャを呼び出します。

PHP を使用してデータベースのストアド プロシージャを呼び出します。

WBOY
WBOYオリジナル
2016-08-08 09:33:511838ブラウズ

php を使用してデータベースのストアド プロシージャを呼び出します。
作者: fox4000

昨日、php を使用してストアド プロシージャを呼び出すことができるかどうかを尋ねている同志を見て、それはできるはずだと感じたので、すぐに実験を行ったところ、大成功しました。とても予想外です!したがって、みんなの参考のために書き留めてください!
ご存知のとおり、ストアド プロシージャはサーバー側のスクリプト プログラムであり、実行が非常に高速ですが、固定データベースに依存しており、移植性が低いという欠点もあります。
前回の記事で、COM コンポーネントを使用して ADO および関連コンポーネントにアクセスできることを述べましたが、それを自分で構築するか、システムに組み込むかに関係なく、PHP は dcom/com+ をサポートしません。 、しかし、私はそれができると信じています、次のバージョンはそれをサポートするはずです。
さっそく試してみましょう。

以下は私の簡単な保管プロセスです
プロシージャ [sp_mystoreprocedure] を
として作成 顧客から会社名、連絡先名、都市を選択してください

本当はもっと複雑なものを書くこともできましたが、残念ながら深く勉強していなかったため、シンプルにしなければなりませんでした。

以下は私のphpファイルです
) "プロバイダー = SQLOLEDB; データ ソース = zzb; 初期カタログ = Northwind; ユーザー ID = sa; パスワード =
; $dbc = 新しい COM("ADODB.Connection"); $dbc->開く(OLEDB_CONNECTION_STRING)
$command = "sp_mystoreprocedure"; $rs = $dbc->Execute($command) // レコードセット
; $i = 0;
echo '<テーブル cellSpacing="1" cellPadding="3" width="600" align="center" bgColor="#000000" border="0"> ディレクティブ ローカル値 マスター値 ';
while (!$rs->EOF) {
$i += 1; $fld0 = $rs->フィールド(0); $fld1 = $rs->フィールド(1); $fld2 = $rs->フィールド(2); print ' '; $fld0->値を印刷します。 印刷 '
'; $fld1->値を印刷します。 print ''; $fld2->値を印刷します。 print '';
$rs->MoveNext(); }
''を印刷します。
$rs->閉じる(); ?>

サーバーの電源がオンになっている必要があることに注意してください。また、ストアド プロシージャの名前を間違って記述することはできません。そうしないと、致命的なエラーが発生し、どこにエラーがあるのか​​さえわかりません。これは、PHP ファイルのエラー処理の問題ですが、将来的には改善されると思います。



以上、PHPを使ってデータベースを呼び出すストアドプロシージャの紹介でした! 、ストアド プロシージャの呼び出しの内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


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