我已经在我的 sql 中创建了一个数据库并决定添加一些图片,但问题是当前应该加载的图片返回一个空字符串。所以正确的图像应该出现在网站上的地方只是一个图像图标
CREATE TABLE IF NOT EXISTS permissions(
typ int NOT NULL,
dvd_hinzufügen BIT NOT NULL,
dvd_löschen BIT NOT NULL,
dvd_bearbeiten BIT NOT NULL,
dvd_ausgeben BIT NOT NULL,
kunden_anlegen BIT NOT NULL,
kunden_bearbeiten BIT NOT NULL,
FOREIGN KEY (typ) REFERENCES benutzer(typ)
);
我已经用一些数据填充了这张表。这里只能看到我添加的部分电影
INSERT INTO dvd (titel, genre, fsk, laenge, darsteller, regisseur, anzahl, bild) VALUES
('Pulp Fiction', 'Krimi', 16, 154, 'John Travolta', 'Quentin Tarantino', 5,
LOAD_FILE('/Bilder/pulp_fiction.jpg')),
('The Shawshank Redemption', 'Drama', 12, 142, 'Tim Robbins', 'Frank Darabont', 5,
LOAD_FILE('/Bilder/the_shawshank_redemption.jpg')),
('The Godfather', 'Krimi', 16, 175, 'Marlon Brando', 'Francis Ford Coppola', 5,
LOAD_FILE('/Bilder/the_godfather.jpg')),
('Fight Club', 'Drama', 18, 139, 'Brad Pitt', 'David Fincher', 5,
LOAD_FILE('/Bilder/fight_club.webp')),
('Forrest Gump', 'Drama', 6, 142, 'Tom Hanks', 'Robert Zemeckis', 5,
LOAD_FILE('/Bilder/forrest_gump.jpg')),
('Inception', 'Sci-Fi', 12, 148, 'Leonardo DiCaprio', 'Christopher Nolan', 5,
LOAD_FILE('/Bilder/inception.png'));
图片路径要正确。我的 databank.sql 文件与包含图像的 ordner bilder 的顺序相同。
然后我在我的 php 部分请求了图像。
if (!isset($_GET['search']) || ($_GET['search'] == '')) {
//abfrage aller Filme aus Datenbank
$sql = "SELECT titel, bild FROM dvd ORDER BY $selectedCategory $selectedSort" ;
$res = $con->query($sql);
if ($res->num_rows > 0){
while($i = $res->fetch_assoc()){
$bild = base64_encode($i['bild']);
echo "<p>" .$i["titel"]."</p>";
echo '<img src="data:image/jpeg;base64,'.$bild.'" />';
}
}
}
else if (isset($_GET['search'])) {
//abfrage Filme aus Datenbank
$searchTerm = $con->real_escape_string($_GET['search']);
$sql = "SELECT titel, bild FROM dvd WHERE titel LIKE '%$searchTerm%' or genre LIKE '%$searchTerm%' or fsk LIKE '%$searchTerm%' or darsteller LIKE '%$searchTerm%' or regisseur LIKE '%$searchTerm%' ORDER BY $selectedCategory $selectedSort" ;
$res = $con->query($sql);
if ($res->num_rows > 0){
while($i = $res->fetch_assoc()){
$bild = base64_encode($i['bild']);
echo "<p>" .$i["titel"]."</p>";
echo '<img src="data:image/jpeg;base64,'.$bild.'" />';
}
}
}
我尝试使用
echo "<p>Length: " . strlen($bild) . "</p>";
来查看变量 $bild 的长度是否为 0,实际上是。我还右键单击图像图标并在编辑器中打开它们,在那里我可以看到 <p>A Beautiful Mind</p><img src="data:image/jpeg;base64," /><p>Eternal Sunshine of the Spotless Mind</p><img src="data:image/jpeg;base64," /><p>Gladiator</p><img src="data:image/jpeg;base64," /><p>Jurassic Park</p><img src="data:image/jpeg;base64," /><p>Toy Story</p><img src="data:image/jpeg;base64," /> </div>
。
总之,问题应该是图像没有正确加载加载文件功能,这是没有意义的。我希望我能提供足够的样品。否则评论这个,我会提供更多。