PHP で MySQL データベースを操作する方法 - mysql_fetch_array() 関数を使用して配列結果セット内の情報を取得します
mysql_fetch_array() 関数は結果セットから行を連想配列または数値配列として取得します、またはその両方を実行し、結果セットから取得した行から生成された配列の値を返します。行がもうない場合は false を返します。
前回の記事「mysql_query()関数を使ってSQL文を実行する(MySQLデータベースを操作するPHP方法3)」では、mysql_query()関数を使ってSQL文を実行することを紹介しました。 次に、mysql_fetch_array()関数を使います。結果セットから情報を取得します。
推奨される関連する mysql ビデオ チュートリアル: "mysql チュートリアル"
mysql_fetch_array() 関数の構文構造は次のとおりです:
array mysql_fetch_array(resource result[,int result_type])
result: リソース タイプのパラメーター。渡されるのは返されるデータ ポインターです。 mysql_query() 関数によって。
result_type: オプションの整数パラメーター。渡される 3 つのインデックス タイプは、MYSQL_ASSOC (連想インデックス)、MYSQL_NUM (数値インデックス)、および MYSQL_BOTH (連想インデックスと数値インデックスの両方を含む配列) です。
注: mysql_fetch_array() 関数によって返されるフィールド名は大文字と小文字が区別されます。これは初心者にとって最も見落とされやすい問題です
まず、取得関数を使用します。 mysql_query() 関数を使用して SQL ステートメント、クエリ情報を実行し、次に mysql_fetch_array() 関数を使用してクエリ結果を取得し、最後にエコー データを使用して配列結果セットを出力します。具体的な開発手順は次のとおりです:
1. PHP 動的ページを作成し、index.php という名前を付け、index.php にフォーム、テキスト ボックス、および送信ボタンを追加します。<html> <body> <!--上传文件表单--> <form method="post" action="" name = form1> <table> <tr> <td width="605" height="51" bgcolor="#CC99FF"> <p align="center">请输入查询内容 <input type="text" name="txt_book" id="txt_book" size="25"> <input type="submit" name="Submit" value="查询"> </p> </td> </tr> </table> </form> </body> </html>
2. MySQL データベース サーバーに接続します。データベース php_cn を選択し、データベースのエンコード形式を GB2312 に設定します。具体的なコードは次のとおりです:
<?php header("Content-Type:text/html; charset=utf-8"); $link = mysql_connect("localhost","root","root")or die("连接数据库失败".mysql_error()); mysql_select_db("php_cn",$link); mysql_query("set names gb2312"); //设置编码,防止发生乱发 ?>
3. if 条件ステートメントを使用して、ユーザーが「Query」ボタンをクリックしたかどうかを判断し、クリックした場合は、POST メソッドを使用して渡された情報を受け入れ、mysql_query() 関数を使用します。 SQL ステートメントを実行します。このクエリステートメントは主に情報のあいまいクエリを実装するために使用され、クエリ結果は変数 $sql に代入されます。次に、mysql_fetch_array() 関数を使用して、配列の結果セットから情報を取得します。具体的なコードは次のとおりです。
<?php $sql = mysql_query("select from tb_book"); //执行查询语句 $info = mysql_fetch_array($sql); //获取查询结果,返回值为数组 if($_POST['Submit']=="查询"){ // 判断按钮的值是否为查询 $txt_book = $_POST['txt_book']; //获取文本框提交的值 $sql = mysql_query("select * from tb_book where bookname like '%".trim($txt_book)."%'"); //执行模糊查询 $info = mysql_fetch_array($sql); // 获取查询结果 } ?>
注:
上の例では、視界がぼやけてクエリを実行する場合にワイルドカード文字 "%" を使用します。 。 「%」は 0 文字以上の文字を意味します。 4. if 条件文を使用して結果セット変数 $info を判定し、値が false の場合、取得した情報が存在しないことを出力します。具体的なコードは次のとおりです。 5. do... を使用します。 while ループ ステートメントは、配列結果セット $info[] 内の情報を表形式で出力します。1 つのフィールドの名前は、配列 $info[ 内の情報を出力します。具体的なコードは次のとおりです:
<?php if($info = false){ //如果检索的信息不存在,则输出相对的提示信息 echo "<p align='center' style='color: #FF0000;font-size: 12px'>对不起,你要查询的信息不存在</p>"; } ?>
出力結果は次のとおりです:
ここで mysql_fetch_array() 関数の使用方法を紹介します。次のセクションでは、詳細は「mysql_fetch_object()関数を使って結果セットの行をオブジェクトとして取得する(PHPのMySQLデータベース操作方法5)
」をご覧ください!以上がmysql_fetch_array() を使用して配列結果セット内の情報を取得します (MySQL データベースを操作するための PHP メソッド 4)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。