現在の位置: ホーム> 最新記事一覧> mysqli_result :: fetch_columnを使用してデータを抽出し、それを外部APIと組み合わせます

mysqli_result :: fetch_columnを使用してデータを抽出し、それを外部APIと組み合わせます

gitbox 2025-08-22
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// これは記事の内容とは関係ありませんPHPコードの例,データベース接続と簡単なクエリを示します</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-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"user"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_errno) {
    </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>-&gt;connect_error);
}
</span><span><span class="hljs-variable">$query</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name FROM users LIMIT 5"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-variable">$query</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
 * 使用 mysqli_result::fetch_column データ以降を抽出します API 組み合わせた処理
 *
 * 存在するPHP真ん中,mysqli拡張機能は操作ですMySQL数据库的常使用方法之一。
 * からPHP 8.1上昇,mysqli_result新しいカテゴリが追加されましたfetch_column方法,
 * 可以直接提取查询结果真ん中的某一列,便利で速い。
 *
 * 本文将介绍如何使使用fetch_column単一の列データを抽出します,抽出されたデータを外部に追加しますAPI組み合わせた処理,
 * 例如调使用一个シミュレーション的API,获取每个使ユーザー的详细信息。
 */</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-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"user"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_errno) {
    </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>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// 查询使ユーザーIDリスト</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id 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>-&gt;</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-keyword">die</span></span><span>(</span><span><span class="hljs-string">"クエリに失敗しました: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;error);
}

</span><span><span class="hljs-comment">// 使使用fetch_column提取所有使ユーザーID,配列に戻ります</span></span><span>
</span><span><span class="hljs-variable">$user_ids</span></span><span> = [];
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$id</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">fetch_column</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>)) {  </span><span><span class="hljs-comment">// パラメーター0最初の列を取得することを示します</span></span><span>
    </span><span><span class="hljs-variable">$user_ids</span></span><span>[] = </span><span><span class="hljs-variable">$id</span></span><span>;
}

</span><span><span class="hljs-comment">// クエリ結果セットを閉じます</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">free</span></span><span>();

</span><span><span class="hljs-comment">// シミュレーション调使用外部API,根据使ユーザーID批量获取使ユーザー信息</span></span><span>
</span><span><span class="hljs-comment">// 这里我们使用一个简单函数代替真实API调使用</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">getUserInfoFromApi</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-keyword">array</span></span></span><span> </span><span><span class="hljs-variable">$ids</span></span><span>): </span><span><span class="hljs-title">array</span></span><span> {
    </span><span><span class="hljs-variable">$data</span></span><span> = [];
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$ids</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$id</span></span><span>) {
        </span><span><span class="hljs-comment">// シミュレーションAPIデータ構造を返します</span></span><span>
        </span><span><span class="hljs-variable">$data</span></span><span>[</span><span><span class="hljs-variable">$id</span></span><span>] = [
            </span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-variable">$id</span></span><span>,
            </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">"User_<span class="hljs-subst">$id</span></span></span><span>",
            </span><span><span class="hljs-string">'email'</span></span><span> =&gt; </span><span><span class="hljs-string">"user<span class="hljs-subst">{$id}</span></span></span><span>@example.com",
        ];
    }
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$data</span></span><span>;
}

</span><span><span class="hljs-comment">// 调使用API詳細情報を入手してください</span></span><span>
</span><span><span class="hljs-variable">$user_details</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getUserInfoFromApi</span></span><span>(</span><span><span class="hljs-variable">$user_ids</span></span><span>);

</span><span><span class="hljs-comment">// 結果を処理して出力します</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$user_details</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$user</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"使ユーザーID: <span class="hljs-subst">{$user['id']}</span></span></span><span>&lt;br&gt;";
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"名前: <span class="hljs-subst">{$user['name']}</span></span></span><span>&lt;br&gt;";
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"郵便: <span class="hljs-subst">{$user['email']}</span></span></span><span>&lt;br&gt;&lt;hr&gt;";
}

</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>