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

Gambar dari database MySQL tidak tercetak

Itu karena browser Anda tidak menyadari bahwa data yang Anda kirim kembali adalah gambar. Ketika server web Anda merespons permintaan, itu menentukan jenis kontennya (karena itu header Tipe-Konten), dan halaman Anda ditentukan sebagai teks. Inilah sebabnya mengapa tag gambar digunakan:tag memberi Anda kesempatan untuk mengatakan "sematkan sumber daya lain ini di lokasi ini". Apa yang dilakukan kode Anda adalah membuang data biner gambar sebagai teks ke layar - bukan yang Anda inginkan.

Yang perlu Anda lakukan adalah membuat halaman PHP lain, seperti getImage.php, yang menerima parameter $_GET (mis., id baris). Halaman itu kemudian akan menanyakan database dan echo data gambar, menentukan header Content-Type.

Berikut adalah beberapa bukti kode konsep yang saya tulis tanpa pengujian dan yang tidak menangani injeksi SQL, atau sejumlah masalah potensial lainnya.

header('Content-Type: image/png'); //change to the proper content type for your type of image

$imageID = mysql_real_escape_string($_GET['q']);

$result = mysql_query(sprintf('SELECT file_data FROM images2 WHERE id="%s" AND file_data IS NOT NULL LIMIT 1', $_GET['q']));

if(mysql_num_rows($result) !== 1)
{
  //a row wasn't found, so 404
  header('HTTP/1.0 404 File Not Found');
}
else
{
  $row = mysql_fetch_object($result);
  echo $row['file_data'];
}

Sekarang, saat Anda membuat HTML di file yang ada, Anda akan melakukan sesuatu seperti ini:

echo '<td class="sitename2"><img src="./getImage.php?q='.$row["id"].'"/></td>';

Menyesuaikan nama kolom SQL Anda.

Selamat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara Server MySQL dan Klien MySQL?

  2. Bagaimana cara mengonversi detik (atau milidetik) menjadi stempel waktu (atau hanya string yang terlihat seperti tanggal) di mySql

  3. H2 - Kesalahan mengakses tabel tertaut dengan pernyataan SQL SELECT * FROM null T

  4. Pindah dari MySQL 5.7 ke MySQL 8.0 - Yang Harus Anda Ketahui

  5. Indeks MySQL - berapa banyak yang cukup?