私はphpが初めてです。列id(INT)とimage(BLOB)を持つtestdbという名前のテーブルがあるというサンプルmysql dbがあります。画像をtestdbにアップロードしました。正常にアップロードされました。以下はphpコードです。変数 $conn には、接続の詳細が含まれています。送信時にこのphpページにリダイレクトするhtmlページがあります。
<?php
$name = $_FILES["sample"]["name"];
echo $name . "<br/>";
$tmp_name = $_FILES["sample"]["tmp_name"];
echo $tmp_name . "<br/>";
$size = $_FILES["sample"]["size"];
echo $size . "<br/>";
$contents = file_get_contents($tmp_name);
$htmlen = htmlentities($contents);
$cont = mysql_real_escape_string($contents);
$query = "INSERT INTO testdb(image)
VALUES ('$cont')";
$dbquery = mysql_query($query, $conn);
if($dbquery){
echo "successfully inserted";
}
else{
echo "could not inserted" . mysql_error();
}
?>
次のコードで画像を取得しようとしています。しかし、画像ではなく文字列の文字が表示されています。私の知る限り、これはうまくいくはずです。
<?php
$query = "SELECT image, id
FROM testdb ";
$dbquery=mysql_query($query , $conn);
if(! $dbquery){
echo "Could not selected the data from database. " . mysql_error();
}
while( $row = mysql_fetch_array($dbquery) ){
$decodeimg = html_entity_decode($row["image"]);
echo "<img src= $decodeimg/><br/> hellow orld <br/>";
}
?>
誰でもこれで私を助けてくれますか?前もって感謝します。