在表mysql中添加一个图像

时间:2015-04-03 19:29:20

标签: php mysql database

主要思想是能够从数据库中控制,上传和删除幻灯片的图像。

所以,首先我连接到这样的数据库,并使用while函数回显我存储在数据库中的所有图像。

这是执行此操作的代码:

<?php
$servername = "myservername";
$username = "myusername";
$password = "mypassword";
$dbname = "mydbname";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";

$sql = "SELECT id, img FROM mytable";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<img src=".$row['img'].">";
}
} else {
echo "0 results";
}
?>

在“mytable”表格中,我有两列:一个ID auto-inc和一个名为img的列。 如何在img列中存储图像,以便我的函数能够回显我表中的所有图像? 所有我发现直到现在搜索的是很多用html表单上传图像的方法,但我更喜欢直接在我的数据库上传我的img,而不构建一个html + php表单将我的所有图像上传到我的表格。

这可能吗?

1 个答案:

答案 0 :(得分:1)

将整个图像存储在数据库中通常是个坏主意。如上所述,简单地将图像的路径存储在数据库中要简单得多。删除图像可能会有一些额外的工作,因为您需要通过php系统调用来删除图像文件。

如果您确实必须将图像存储在数据库中,则可以将它们保存为base64编码文本。我已经看到这是在一家相当成功的公司完成的,但没有给出特别好的理由。你的sql执行时间会大得多,因为图像是大文件,你的表格大小会膨胀。