Mendapatkan Nilai Lajur Tunggal dengan MySQLi
Ia boleh mencabar untuk mendapatkan data daripada pangkalan data MySQL dan menyimpannya sebagai tatasusunan satu dimensi . Secara lalai, MySQLi mengembalikan tatasusunan berbilang dimensi, seperti yang dilihat dalam coretan kod yang disediakan:
$query = "SELECT DISTINCT `EmailAddress` FROM `Emails` WHERE `JobID` = 1"; $result = $conn->query($query); while ($row = $result->fetch_row()) { $rows[] = $row; }
Kod ini mengembalikan tatasusunan berbilang dimensi dengan setiap baris diwakili sebagai elemen yang berasingan. Walau bagaimanapun, matlamatnya adalah untuk mendapatkan tatasusunan satu dimensi alamat e-mel.
Penyelesaian: Menggunakan fetch_assoc()
Untuk membetulkan isu ini, gunakan fetch_assoc() sebaliknya daripada fetch_row(). fetch_assoc() mendapatkan semula baris sebagai tatasusunan bersekutu, di mana nama lajur berfungsi sebagai kunci dan nilai disimpan sebagai elemen. Berikut ialah kod yang diubah suai:
while ($row = $result->fetch_assoc()) { $rows[] = $row['EmailAddress']; }
Dengan bertukar kepada fetch_assoc(), kod tersebut berjaya menyimpan alamat e-mel sebagai tatasusunan satu dimensi, dengan setiap alamat e-mel disimpan dalam elemennya sendiri:
<code class="php">array(2) { [0] => "[email protected]" [1] => "[email protected]" }</code>
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Lajur Tunggal sebagai Tatasusunan Satu Dimensi dengan MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!