次のスクリプトは、MySQL の BLOB 列から画像を出力しています。
<?
$dbname="usr_web5_1";
$db = new mysqli($dbhost, $dbuser, $dbpwd, $dbname);
$sql = "SELECT foto, fototype, modified FROM `Komplettverzeichnis_extras` WHERE `WPID`= ?";
$stmt = $db->prepare($sql);
$stmt->bind_param("s",$_GET['id']);
if (!$stmt->execute()) $error=true;
$stmt->bind_result($file,$filetype,$modified);
$stmt->fetch();
if (!isset($filetype)) $filetype = "image/jpeg";
if (!$error) {
header("Content-type: $filetype;");
header("Last-Modified: $modified;");
} else {
echo "Error";
echo $db->error;
}
echo $file;
$stmt->close();
$db->close();
}
?>
列を LONGBLOB に変更することと、新しい LONGBLOB 列に置き換えることの両方を試みました。画像は表示されません。これは、既に配置されている画像を表示しようとしているか、新しい画像をアップロードしようとしているかに関係ありません.
私が見つけた最も近い問題はここにあります(ドイツ語)。私が使用した列を変更するために
ALTER TABLE `Komplettverzeichnis_extras` CHANGE `foto` `foto` LONGBLOB DEFAULT NULL
明らかに、必要に応じてより多くの情報を提供したいと考えています。
バージョン 3.5.2.2、PHP 5.3.17、および mysql クライアント API バージョン (それは mysql バージョンですか?) 5.1.63 で phpMyAdmin を使用しています。
前もって感謝します!