首页 > 数据库 > mysql教程 > 如何使用 PHP 正确地将图像插入 MySQL 数据库?

如何使用 PHP 正确地将图像插入 MySQL 数据库?

Patricia Arquette
发布: 2024-12-31 13:17:18
原创
920 人浏览过

How to Properly Insert Images into a MySQL Database Using PHP?

如何使用 PHP 将图像插入 MySQL 数据库

问题:

您正在尝试将图像存储在MySQL 数据库,但程序未插入图像data.

提供的代码摘录:

    $file = $_FILES['image']['tmp_name'];
    ...
    if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )"))
    {
        ...
    }
登录后复制

错误消息:

您的 SQL 中有错误句法;检查与您的 MySQL 服务器版本对应的手册以获取正确的语法。

解决方案:

1.确保图像列为 BLOB 类型:
验证用于存储图像的列是否为 BLOB 数据类型。

2.清理输入数据:
使用 MySQLi 函数处理 SQL 查询并转义输入数据中的特殊字符以防止 SQL 注入。

更正的代码(假设 ID 始终为“1”) ):

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);

$query = "INSERT INTO product_images (id, image, image_name) VALUES ('1', '{$image}', '{$image_name}')";

if (mysqli_query($conn, $query)) {
    ...
}
登录后复制

3.更新 HTML 表单:
HTML 表单应更新为使用正确的 enctype 属性来上传文件:

<form action="insert_product.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" />
</form>
登录后复制

4.在磁盘上存储文件(可选):
考虑将图像文件存储在磁盘上,而不是使用 MySQL 数据库来存储大量数据。这可以提高性能并减少数据库负载。

以上是如何使用 PHP 正确地将图像插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板