Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP MySQL mysql_fetch_assoc dengan kunci array dibedakan dengan sebutan 'sebagai'

Selama Anda menggunakan * wildcard, Anda akan menemukan kolom dengan nama yang sama akan menimpa kunci yang sama dalam array asosiatif Anda.

Anda harus memberikan alias kolom ke kolom dari setidaknya salah satu tabel:

select t1.*, t2.col1 as t2col1, t2.col2 as t2col2, ...
from table as t1 LEFT JOIN table as t2 ON t1.id=t2.rank

Atau Anda dapat menggunakan wildcard, tetapi ambil baris sebagai larik ordinal:

$row = mysql_fetch_array($result, MYSQL_NUM);
echo $row[4];

Kembali komentar Anda:SQL baru saja memiliki * wildcard yang berarti "semua kolom dari tabel tertentu, dengan nama aslinya." Anda harus alias kolom secara eksplisit, berdasarkan kolom demi kolom.

Pengecualian:Jika Anda menggunakan SQLite, ada pragma full_column_names opsi yang membuat kumpulan hasil mengembalikan nama kolom yang memenuhi syarat, sehingga Anda dapat menggunakan * tetapi kunci kembali diawali dengan alias tabel. Ini adalah SQL khusus SQL dan tidak standar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membaca lembar XLSX untuk memberi makan tabel MySQL menggunakan PHPExcel

  2. Bagaimana tabel ini terkait?

  3. Apa yang dimaksud dengan `unsigned` di MySQL dan kapan menggunakannya?

  4. JSON_STORAGE_FREE() – Cari Tahu Berapa Banyak Ruang Penyimpanan yang Dikosongkan Setelah Pembaruan Dokumen JSON di MySQL

  5. Cara mengetahui ukuran Indeks di MySQL