ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルを通じて MySQL プロシージャの結果を取得する方法

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

WBOY
WBOYオリジナル
2016-07-15 13:24:34760ブラウズ

いつもネット民から、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 のストアド プロシージャはプログラミングを大幅に容易にし、効率を向上させます。でも、のために…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。