<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 記事の内容とは何の関係もありませんPHPコードの例</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"私のものへようこそPHPチュートリアルページ!"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/*
タイトル: 使用 mysqli_result::fetch_fields データベースクエリの結果から列情報を抽出する方法?
*/</span>
</span><span><span class="hljs-comment">// 使用中 PHP 動作します MySQL データベースの場合,多くの場合、クエリの結果で列情報を取得する必要があります,たとえば、リスト名、データ型、長さなど。mysqli 提供された fetch_fields この情報を簡単に抽出する方法。</span></span><span>
</span><span><span class="hljs-comment">// 1. データベースに接続します</span></span><span>
</span><span><span class="hljs-variable">$servername</span></span><span> = </span><span><span class="hljs-string">"localhost"</span></span><span>;
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-string">"root"</span></span><span>;
</span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-string">""</span></span><span>;
</span><span><span class="hljs-variable">$database</span></span><span> = </span><span><span class="hljs-string">"test_db"</span></span><span>;
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-variable">$servername</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$password</span></span><span>, </span><span><span class="hljs-variable">$database</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"接続に失敗しました: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-comment">// 2. クエリを実行します</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, email FROM users"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span>) {
</span><span><span class="hljs-comment">// 3. 使用 fetch_fields 列情報を抽出します</span></span><span>
</span><span><span class="hljs-variable">$fields</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_fields</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h2>結果の列情報をクエリします:</h2>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<ul>"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$fields</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$field</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<li>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"リスト名: "</span></span><span> . </span><span><span class="hljs-variable">$field</span></span><span>->name . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"テーブル名: "</span></span><span> . </span><span><span class="hljs-variable">$field</span></span><span>->table . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"データ型: "</span></span><span> . </span><span><span class="hljs-variable">$field</span></span><span>->type . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"長さ: "</span></span><span> . </span><span><span class="hljs-variable">$field</span></span><span>->length . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"最大長さ: "</span></span><span> . </span><span><span class="hljs-variable">$field</span></span><span>->max_length . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"</li><br>"</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"</ul>"</span></span><span>;
</span><span><span class="hljs-comment">// 4. 結果セットを繰り返します</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h2>結果データをクエリします:</h2>"</span></span><span>;
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ID: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">", Name: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>] . </span><span><span class="hljs-string">", Email: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'email'</span></span><span>] . </span><span><span class="hljs-string">"<br>"</span></span><span>;
}
</span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">free</span></span><span>();
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"クエリに失敗しました: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error;
}
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
<span class="hljs-comment">/*
要約します:
- mysqli_result::fetch_fields() すべての列情報を含む配列を返すことができます。
- 各配列要素はオブジェクトです,包含リスト名(name)、テーブル名(table)、データ型(type)、長さ(length)等。
- これは、動的に生成されたテーブルです、データのエクスポートやデータベース構造のデバッグで非常に便利です。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
関連タグ:
mysqli_result