Mysql
 sql >> база данни >  >> RDS >> Mysql

Изображение от MySQL база данни не се отпечатва

Това е така, защото вашият браузър не осъзнава, че данните, които изпращате обратно, са изображение. Когато вашият уеб сървър отговори на заявка, той указва вида на съдържанието, което е (оттук и заглавката Content-Type) и вашата страница се посочва като текст. Ето защо се използват етикети за изображения:те ви дават възможност да кажете „вградете този друг ресурс на това място“. Това, което вашият код прави, е да изхвърли двоичните данни на изображението като текст на екрана - не това, което искате.

Това, което трябва да направите, е да създадете друга PHP страница, като getImage.php, която приема параметър $_GET (т.е. идентификатор на ред). След това тази страница ще направи заявка към базата данни и echo данните за изображението, указвайки заглавката Content-Type.

Ето малко доказателство за концептуален код, който написах без тестване и който не обработва SQL инжектиране или редица други потенциални проблеми.

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'];
}

Сега, когато изграждате своя HTML във вашия съществуващ файл, бихте направили нещо подобно:

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

Съответно коригиране на имената на вашите SQL колони.

Наздраве.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Можете ли да извлечете резултати, които съвпадат като 3 от 4 израза?

  2. Връща отговор от PHP към Jquery с помощта на Ajax

  3. Как да получите достъп до отдалечена база данни MySql от iPhone App

  4. В определени случаи между оператора липсват индекси

  5. Избягвайте SQL инжекцията в регистрационната форма php