sql >> データベース >  >> RDS >> Mysql

画像が表示されないのはなぜですか?

    正しいContent-typeを設定していません 画像データをエコーアウトする前のヘッダー。

    $_GET['id']もエスケープする必要があります パラメータ。

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

    メインスクリプトでは、echoが欠落しているだけのようです。

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



    1. dockermysqlコンテナへのログインを有効にする

    2. AmazonAWSを使用したPostgreSQLのコールドスタンバイの作成

    3. MySQL-SELECT ... WHERE id IN(..)-正しい順序

    4. 列の値が明確でないすべての行を選択する方法