Echoing MySql Response: Decoding Resource Id #6 in PHP
Cabaran biasa dalam pengaturcaraan PHP melibatkan pengambilan data daripada respons MySql. Semasa menggunakan mysql_query() untuk melaksanakan pertanyaan, anda mungkin menghadapi mesej "Resource id #6" yang membingungkan apabila cuba memaparkan hasil menggunakan echo(). Isu ini berlaku disebabkan oleh sifat mentah keluaran mysql_query(), yang mengembalikan pengecam sumber dan bukannya data hasil sebenar.
Untuk menangani perkara ini, anda mesti menggunakan fungsi ambil untuk mengekstrak maklumat yang dikehendaki daripada sumber. Berikut ialah contoh:
<code class="php">$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha'])); if ($result) { $data = mysql_fetch_assoc($result); echo $data['time_delta']; }</code>
Pendekatan dipertingkat ini mula-mula melaksanakan pertanyaan, kemudian menggunakan mysql_fetch_assoc() untuk mendapatkan semula data sebagai tatasusunan bersekutu. Dengan mengakses kekunci time_delta dalam tatasusunan ini, anda kini boleh berjaya menggemakan hasil yang diingini.
Nota: Walaupun penyelesaian ini menyediakan cara mudah untuk menyelesaikan isu "ID Sumber #6", adalah disyorkan untuk berhijrah dari sambungan mysql yang tidak digunakan untuk memihak kepada alternatif yang lebih moden seperti PDO atau mysqli. Pilihan yang lebih baharu ini menawarkan keselamatan yang dipertingkatkan, prestasi yang dipertingkatkan dan sokongan yang lebih baik untuk interaksi pangkalan data yang kompleks.
Atas ialah kandungan terperinci Mengapakah `echo()` Mengembalikan \'Resource id #6\' Apabila Menggunakan `mysql_query()` dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!