mysql_fetch_object() 関数を使用して、結果セット内の行をオブジェクトとして取得します (MySQL データベースを操作するための PHP メソッド 5)
mysql_fetch_object() 関数を使用して、差分選択結果セット内のデータも取得します, 前回の記事で紹介したように、関数は似ています。以下では、同じインスタンスの異なる方法によるこれら 2 つの関数の使用の違いを理解します。
前回の記事「mysql_fetch_array()を使って配列結果セットの情報を取得する(PHPでMySQLデータベースを操作する方法4)」で結果セットを取得するmysql_fetch_array()関数を紹介しましたので、今日も引き続き紹介します。結果セットの取得関数 mysql_fetch_object() 関数。
まず、この関数の構文形式を次のように見てみましょう:
object mysql_fetch_object(resource result)
注:
この拡張機能は PHP 5.5.0 では廃止され、PHP 7.0.0 で削除されました。代わりに、mysqli 拡張機能または pdo_mysql を使用する必要があります。詳細については、「MySQL: セレクション API ガイド」および関連する FAQ を参照してください。
mysql_fetch_object() 関数は mysql_fetch_array() 関数に似ていますが、前者は配列ではなくオブジェクトを返します。この関数は、次の形式を使用して要素を取得します。結果セット内の行の値。
$row->col_name //col_name为列名,$row代表结果集
たとえば、データ テーブルから id と name の値を取得する場合、$row->id と $row->name を使用して行内の要素の値にアクセスできます。
注:
この関数によって返されるフィールドでも大文字と小文字が区別されます。これは、プログラミングを学習する初心者にとって最も見落とされやすい問題です。
次の例では、mysql_fetch_object() 関数を使用して結果セット内のデータ情報を取得し、次に echo ステートメントを使用して、結果セットからフィールドに対応する書籍情報を「結果セット->」の形式で出力します。列名」。
具体的な手順は次のとおりです:
1. PHP 動的ページを作成し、index.php という名前を付け、index.php にフォーム、テキスト ボックス、送信ボタンを追加します。具体的なコードは次のとおりです。
2. MySQL に接続します。データベース サーバーとして、データベース php_cn を選択し、データベースのエンコード形式を GB2312 に設定します。具体的なコードは次のとおりです:<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>3. mysql_fetch_object() 関数を使用してクエリ結果セット内のデータを取得します。戻り値はオブジェクトです:
<?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"); //设置编码,防止发生乱发 ?>4. do...while ループ ステートメントを使用します。 , 「結果列 -> 列名」メソッドで結果セット内のグラフィック情報とテキスト情報を出力します。コードは次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); $sql = mysql_query("select from tb_book"); //执行查询语句 $info = mysql_fetch_object($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); // 获取查询结果 } ?>出力結果は次のとおりです。次回は、結果セットを1行ずつ取得する別の関数を紹介します。詳しくは「
mysql_fetch_row()関数を使って結果セットの各レコードを1行ずつ取得する(PHP操作の方法6)」をご覧ください。 MySQL データベース)
"!以上がmysql_fetch_object() 関数を使用して、結果セット内の行をオブジェクトとして取得します (MySQL データベースを操作するための PHP メソッド 5)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。