ホームページ >バックエンド開発 >PHPチュートリアル >結果セット内のレコードを取得する 4 つの方法
まず SQL を使用してテーブルを作成し、テーブルにデータを挿入します
create table contactInfo(
uid mediaint(8)
unsigned NOT NULL AUTO_INCREMENT, #Contact ID
name varchar(50) NOT NULL, #Name
deparmentId char( 3 ) NOT NULL, 連絡先担当者のメールアドレス
PRIMARY KEY(uid) # ユーザー ID (つまり uid) を主キーとして設定します
);
fetch_row()、fetch_array()、fetch_assoc()、fetch_object() の 4 つの関数が使用します。結果データ行を順番に読み取る同様のメソッド。フィールドの参照方法が異なるだけです
共通点: 各呼び出しは、結果データ テーブルの終わりに達すると、自動的に次の結果レコードを返します
1。 fetch_row()
結果セットから結果レコードを取得し、その値をインデックス配列に格納する方法は、4 つの方法の中で最も便利です。
各フィールドは $row[$n] の形式で読み取る必要があります。ここで、$row は結果セットから取得されたレコードの行から返される配列であり、$n は連続整数の添字です。
インデックス配列を返すため、list() 関数と組み合わせて使用することもできます。
$mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name");
if(mysqli_connect_errno()){
printf("接続に失敗しました: %s
" ,mysqli_connect_error());
exit();
}
$mysqli->query('set names gb2312'); すべての人の名前と電子メールが取得され、結果セットに保存されます。
$result=$mysqli->query("SELECT name,email FROM contactInfo WHERE planId='D01'");
. 人の名前とメールアドレス: ';
echo '
User ID | Name | th>部門番号連絡先住所 | 連絡先電話番号 | 電子メール | '; while ($ rw = $ result-& gt; fetch_assoc ()) { // $ result-& gt; fetch_accoc () は、$ key_name (キー値) を使用した場合でも、関連付けられた配列を返します。 align = "cneter">'; echo ' | '.$row['uid']&' lt;/td>'; echo ' | '.$row[name'].'; echo ' | '.$row['DepartmentId'].'; echo ' | '.$row['phone'].' | ';'.$row['email'].' ; '; echo' & lt;/troc & gt; 🎜?>🎜3. このメソッドは fetch( )_row メソッドと fetch_assco() メソッドを使用すると、結果セットの各レコードを連想配列または数値インデックス付き配列として取得したり、連想配列とインデックス付き配列の両方として取得したりできます。デフォルトでは、両方の配列が同時に取得されます。このデフォルトの動作は、次のようにこのメソッドにさまざまな値を渡すことで変更できます。 🎜MYSQLI_ASSOC : レコードは連想配列として返され、フィールド名がキー、フィールドの内容が値です。 🎜MYSQLI_NUM : レコードは、クエリで指定されたフィールド名の順序で並べ替えられたインデックス配列として返されます。 🎜MYSQLI_BOTH : これはデフォルト値で、レコードは連想配列とインデックス配列の両方として返されます。 🎜4. $result->fetch_object()🎜 このメソッドは、前の 3 つのメソッドとは異なり、配列ではなくオブジェクトの形式で結果レコードを返します。その各フィールドにはオブジェクトの形式でアクセスする必要があり、データ列の名前は大文字と小文字が区別されます。 $mysqli=new mysqli("localhost","mysql_user","mysql_pwd","my_db_name"); if(mysqli_connect_errno()){ printf("接続に失敗しました: %s " ,mysqli_connect_error()); exit(); } $mysqli->query("set names gb2312"); $mysqli->query("SELECT * FROM contactInfo"); echo '
|
---|