Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi mon image ne s'affiche-t-elle pas ?

Vous ne définissez pas le bon Content-type en-tête avant de renvoyer les données d'image.

Vous DEVEZ également échapper le $_GET['id'] paramètre.

// Escape $id
$id = mysql_real_escape_string($_GET['id']);   

$link = mysql_connect($host, $user, $passwd);
mysql_select_db($dbName);

// Use the escaped $id
$query = "SELECT picture FROM products WHERE serial='$id'";
$result = mysql_query($query,$link);

if ($result) {
  $row = mysql_fetch_assoc($result);

  // Set the Content-type
  // This assumes image/jpeg. If you have different image types,
  // you'll need logic to supply the correct MIME type
  // image/jpeg image/png image/gif, etc
  header("Content-type: image/jpeg");
  echo $row['picture'];
}
?>

Dans votre script principal, il semble qu'il vous manque simplement un echo

        <td><?php '<img src="getImage.php?id=' . $row['serial'] .'"/>'
        // Should be
        <td><?php echo '<img src="getImage.php?id=' . $row['serial'] .'"/>'
        // ------^^^^^^