PHP_PHP チュートリアルを通じて MySQL プロシージャの結果を取得する方法

WBOY
リリース: 2016-07-15 13:24:34
オリジナル
719 人が閲覧しました

いつもネット民から、php 経由で MySQL のストアド プロシージャを呼び出し、同時に返された結果セットを取得する方法を尋ねられます。確かに、MySQL のストアド プロシージャはプログラミングを大幅に容易にし、効率を向上させます。ただし、PHP 4 を使用している学生にとっては面倒なことです。PHP 4 はストアド プロシージャを呼び出すことしかできず、返された結果セットを直接取得することはできませんが、PHP 5 の mysqli 関数を使用してそれを行うことができます。まず、PHP 5 を再コンパイルして mysqli のサポートを追加するか、mysqli 拡張モジュールを直接ダウンロードします (ここでは詳しく説明しません)。直接例を見てみましょう:

1. ストアド プロシージャを作成し、テスト ライブラリの下にあるすべてのテーブルをリストします:

<p>mysql>DELIMITER //</p><p>mysql>CREATE PROCEDURE `yejr`()</p><p>->BEGIN</p><p>->SHOW TABLES;</p><p>->END; //</p><p>Query OK, 0 rows affected (0.12 sec)</p><p>mysql>DELIMITER ;</p><p>mysql>CALL yejr();</p><p>+------------------+</p><p>| Tables_in_test |</p><p>+------------------+</p><p>| yejr1 |</p><p>| yejr2 |</p><p>+------------------+</p>
ログイン後にコピー

2. mysqli を使用してテスト コードを作成します:

<p>$mysqli = new mysqli("localhost", "root", "", "test");</p><p>if (mysqli_connect_errno()) {</p><p>printf("Connect failed: %sn", mysqli_connect_error());</p><p>exit();</p><p>}</p><p>$query = "call yejr();";</p><p>if ($result = $mysqli->query( $query)) {</p><p>while($row = $result->fetch_row())</p><p>{</p><p>printf ("find table: %s n", $row[0]);</p><p>}</p><p>}</p><p>$result->close();</p><p>?><br></p>
ログイン後にコピー
結果はおおよそ以下の通りです
find table: yejr1

find table: yejr2


【関連記事】


http://www.bkjia.com/PHPjc/446764.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446764.html技術記事ネットユーザーはいつも、PHP を通じて MySQL のストアド プロシージャを呼び出し、同時に返された結果セットを取得する方法を尋ねます。確かに、MySQL のストアド プロシージャはプログラミングを大幅に容易にし、効率を向上させます。でも、のために…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!