<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-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>->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>->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>-></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">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?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>->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>->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>-></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>->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>-></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>-></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> => </span><span><span class="hljs-variable">$id</span></span><span>,
</span><span><span class="hljs-string">'name'</span></span><span> => </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> => </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><br>";
</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><br>";
</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><br><hr>";
}
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
相關標籤:
mysqli_result API