如何将图像插入我的数据库表

时间:2017-05-22 08:49:32

标签: php sql

我正在尝试插入一个上传到HTML中的图像文件以保存在我的数据库中,这样用户就可以将此图像设置为他们的个人资料图片。但现在我被我的代码困住了,我需要有人来帮助我。当我点击我的保存按钮时,它将回显保存文件失败。

profile.php

<div class="profile">
<form action="photo.php" method="POST" enctype="multipart/form-data">
        <h2>Upload File</h2>
        <label for="fileSelect">Filename:</label>
        <input type="file" name="photo" id="fileSelect">
        <input type="submit" name="submit" value="save">
        <p><strong>Note:</strong> Only .jpg, .jpeg, .gif, .png formats allowed to a max size of 5 MB.</p>
    </form>
</div>

save.php

<?php
include 'db.php';

if(isset( $_POST['photo'])){
$photo = $_POST['photo'];
$sql = "INSERT INTO users (photo) VALUE ('$photo')";
$query = mysqli_query($conn,$sql);
header("Location:profile.php");
}else{
 echo "failure to save file!";
}
?>

2 个答案:

答案 0 :(得分:1)

2个可能性:

1保存到文件服务器(首选):

将图像保存在文件服务器上,并将保存它的路径保存在数据库中。这允许您直接访问此文件,并帮助您更好地将其输出给用户,而不是使用第二种方法。我更喜欢这个。

说明:upload file with php and save path to sql

2保存到数据库:

您可以将图像内容保存到BLOB(二进制大对象)。

说明:Insert Blobs in MySql databases with php

答案 1 :(得分:1)

您只需要在数据库中保存图像路径,您需要将图像本身存储在项目本地的目标中。然后,您可以使用数据库中保存的路径加载图像。

这里的答案为您提供了一个如何执行此操作的示例:How to store images in mysql database using php