mysqli 拡張テクノロジーを使用してデータベース情報を取得する
PHP5.0 以降のバージョンでは、初期の MySQL データベース操作関数を使用できるだけでなく、mysqli 拡張テクノロジーを使用して MySQL データベースと通信することもできます。 mysqli 拡張テクノロジーを使用すると、MySQL ストアド プロシージャを呼び出して MySQL トランザクションを処理できるだけでなく、データベースへのアクセスがより安定します。
実際の Web プロジェクトの開発プロセスでは、安定した高速なクエリ環境を作成するために、多くの場合、大量の情報を取得する必要があります。この例では、mysqli 拡張テクノロジを使用して製品情報の取得を実現する方法を紹介します。
技術ポイント
この例の主要な技術は、mysqli 技術を使用して MySQL データベースに接続し、データベース情報の取得を実現する方法です。 Mysqli テクノロジでは、オブジェクト指向とプロセスという 2 つのプログラミングのアイデアを使用できます。この例では、現在より一般的なオブジェクト指向プログラミング手法を使用しています。
オブジェクト指向プログラミングを使用して MySQL データベースに接続し、PHP の事前定義された mysqli を通じて実装されます。このクラスのコンストラクターは以下で説明されています。
mysqli クラスのコンストラクターは通常、次の 4 つのパラメーターで構成されます:
hostname: MySQL サーバーのアドレスまたはホスト名。
username: MySQL サーバー内のユーザーのユーザー名。
userpwd: MySQL サーバー内のユーザーに対応するユーザー パスワード。
databasename: MySQL サーバー内のデータベースの名前。このパラメーターを省略した場合は、mysqli メンバー関数 select_db() を使用してデータベース名を指定する必要があります。
mysqliの定義済みインスタンス化形式は以下の通りです:
new mysqli(string hostname, string username, string userpwd [,string databasename] );
実装プロセス:
(1) データベースに接続しフォームを入力するためのphpファイルを作成します!
<form name="form1" action="1.php" method="post"> 请输入商品名称:<input type="text" name="name"> <input type="submit" value="查询"> </form> <?php header("Content-Type:text/html; charset=utf-8"); $link = new mysqli("localhost","root","root","php_cn");
(2) 送信ボタンの値が空かどうかを確認し、株式購入の値が空でない場合は、クエリを開始します。ユーザーがクエリしたいデータ情報が見つかった場合は、データ情報が表示されます。それ以外の場合は、データ情報が見つからなかったことを示すメッセージが表示されます。具体的なコードは次のとおりです:
<?php if($_POST['Submit']) { header("Content-Type:text/html; charset=utf-8"); $link = mysqli_connect("localhost", "root", "root"); $conn = mysqli_select_db($link, "php_cn"); $name = $_POST['username']; $sql = "select * from `tb_book` where bookname like '%" . $name . "%'"; $result = mysqli_query($link, $sql); $res = mysqli_fetch_array($result, MYSQLI_ASSOC); if (!$res) { echo "<p align='center'>没有查到该商品!</p>"; } else { ?> <table width="600" height="15" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td> </td> </tr> </table> <table width="600" height="50" border="0" align="center" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#0033FF"> <table width="600" height="50" border="0" align="center" cellspacing="1" cellpadding="0"> <tr> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>书本名字</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>时间</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>价格</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>作者</p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'>出版社</p> </td> </tr> <?php do { ?> <tr> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['bookname'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['data'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['price'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['maker'];?></p> </td> <td width="156" height="25" bgcolor="#A2D4F4"> <p align='center'><?php echo $res['publisher'];?></p> </td> </tr> <?php } while ($res = mysqli_fetch_array($result, MYSQLI_ASSOC)); ?> </table> </td> </tr> </table> <?php } } ?>
上記のコードを実行した結果は次のとおりです:
データベース情報を取得し、ローカルでテストできます。次の記事では、引き続き mysqli 拡張機能を紹介します。詳細については、「mysqli 拡張機能を使用してサーバー接続エラー レポートを表示する方法」を参照してください。
【関連チュートリアルの推奨事項】1. 関連トピックの推奨事項:「2.【3. 関連するビデオコースの推奨事項:基本的な MySQLi 拡張ライブラリのビデオチュートリアル》
以上がmysqli拡張技術によるデータベース情報の取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。