Phpmyadminを使用してテーブルを持つMySQLデータベースを作成しました。 jpegファイルを保持するために、BLOB列を持つこのテーブルを作成しました。
Php変数$result
に関してここに問題があります。
これまでの私のコード:(catalog.php):
<body>
<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("dvddb");
$sql = "SELECT dvdimage FROM dvd WHERE id=1";
$result = mysql_query("$sql");
mysql_close($link);
?>
<img src="" width="175" height="200" />
</body>
PHPから変数$ resultをHTMLに取得して、<img>
タグで表示するにはどうすればよいですか?
できません。画像データを返す別のphpスクリプトを作成する必要があります。 getImage.php。 catalog.phpを次のように変更します。
<body>
<img src="getImage.php?id=1" width="175" height="200" />
</body>
次に、getImage.phpは
<?php
$id = $_GET['id'];
// do some validation here to ensure id is safe
$link = mysql_connect("localhost", "root", "");
mysql_select_db("dvddb");
$sql = "SELECT dvdimage FROM dvd WHERE id=$id";
$result = mysql_query("$sql");
$row = mysql_fetch_assoc($result);
mysql_close($link);
header("Content-type: image/jpeg");
echo $row['dvdimage'];
?>
技術的には、 data URIs を使用して、画像データをimgタグに入れることもできますcan。
<img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />
ほとんどの場合、別のスクリプトを介して画像を提供した方がよい場合もありますが、これが役立つ可能性がある特別な状況があります daiscogが示唆するように 。
情報を取得して、必要なものに分析する必要があります。
while($row = mysql_fetch_array($result)) {
echo "img src='",$row['filename'],"' width='175' height='200' />";
}
mysql_query()の後に$row = mysql_fetch_object($result);
を追加します。
あなたのhtml <img src="<?php echo $row->dvdimage; ?>" width="175" height="200" />
まず、クエリの結果セットから結果の行を取得する必要があります。そのために mysql_fetch_row
を使用できます。フェッチされた行ができたので、取得した値にアクセスして、srcにエコーできます。
例えば:
$sql = "SELECT dvdimage FROM dvd WHERE id=1";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
?>
<img src="<?=$row[0]?>" width="175" height="200" />
<?
データベースに挿入する前にスラッシュを追加したので、フェッチするときに再びスラッシュを削除しましたstripslashes()
。私のために働くコードを共有しています。
Mysql dbに挿入する方法(blobタイプ)
$db = mysqli_connect("localhost","root","","dName");
$image = addslashes(file_get_contents($_FILES['images']['tmp_name']));
$query = "INSERT INTO student_img (id,image) VALUES('','$image')";
$query = mysqli_query($db, $query);
次に画像にアクセスします
$sqlQuery = "SELECT * FROM student_img WHERE id = $stid";
$rs = $db->query($sqlQuery);
$result=mysqli_fetch_array($rs);
echo '<img src="data:image/jpeg;base64,'.base64_encode( stripslashes($result['image']) ).'"/>';
それが誰かを助けることを願っています
ありがとう。