Menyelesaikan nama lajur yang tidak jelas dalam pertanyaan SQL
Apabila mendapatkan semula data daripada berbilang jadual yang mengandungi nama lajur biasa, kesamaran mungkin timbul apabila mengakses nilai lajur dalam tatasusunan bersekutu yang terhasil. Untuk menyelesaikan masalah ini, pertimbangkan contoh menyertai jadual NEWS dengan jadual USERS, kedua-dua jadual mengandungi lajur "id".
Laksanakan pertanyaan SQL:
<code class="language-sql">SELECT * FROM news JOIN users ON news.user = user.id</code>
Menggunakan PHP, bagaimana saya boleh mendapatkan ID berita dan ID pengguna (kedua-duanya mempunyai nama lajur yang sama) daripada tatasusunan bersekutu yang dikembalikan oleh pertanyaan?
Untuk menyahkekaburan nama lajur, tetapkan setiap lajur alias unik dalam klausa SELECT:
<code class="language-sql">$query = 'SELECT news.id AS newsId, user.id AS userId, [OTHER FIELDS HERE] FROM news JOIN users ON news.user = user.id';</code>
Dengan menentukan alias untuk nama lajur, anda boleh mengakses nilai tertentu menggunakan:
$row['newsId']
Dapatkan ID Berita$row['userId']
Dapatkan ID penggunaAtas ialah kandungan terperinci Bagaimana untuk Mengakses Nama Lajur Ambiguous dalam Keputusan Pertanyaan SQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!