如何在MySQL中插入图像,然后使用PHP检索它?

我在这两个领域的经验都很有限,我可以用一点代码让我开始弄明白这一点.

推荐答案

首先创建一个MySQL表来存储图像,例如:

create table testblob (
    image_id        tinyint(3)  not null default '0',
    image_type      varchar(25) not null default '',
    image           blob        not null,
    image_size      varchar(25) not null default '',
    image_ctgy      varchar(25) not null default '',
    image_name      varchar(50) not null default ''
);

然后,您可以将图像写入数据库,如下所示:

/***
 * All of the below MySQL_ commands can be easily
 * translated to MySQLi_ with the additions as commented
 ***/ 
$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
// mysqli 
// $link = mysqli_connect("localhost", $username, $password,$dbname); 
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    /***
     * For all mysqli_ functions below, the syntax is:
     * mysqli_whartever($link, $functionContents); 
     ***/
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
    );
mysql_query($sql);

您可以通过以下方式在网页中显示数据库中的图像:

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("testblob");
$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);

Mysql相关问答推荐

如何在循环查询中删除默认架构?

MariaDB字段+1

返回包含某一列的分组最大值的行,说明列中的重复值

最终的自联表是如何记住关联的呢?

SQL 请求:REPLACE 和通配符 %.如何做正确的事?

数据导入和默认目标架构空列表. (Mysql 工作台 8)

是否可以使用以EXPLAIN EXTENDED ...开头的 SQL 语句修改数据?

即使在某些表中不匹配,如何从 MySQL 中的多个表中 Select 所有记录

如何在 axios 请求中将更新的设置状态值作为参数传递

在表中找到最大值,然后分别显示SQL组和每个SQL组中的最大值计数

SQL从字典中的键获取值

在 Presto Athena 中将字符串转换为数组

如何在任何连续范围内获得最大值

如何查看 rdsadmin 在 mysql 实例上的权限?

MySQL - 计算行重复的最大计数

MySQL:如何多次加入同一张表?

将 MySQL 查询的输出转换为 utf8

SQL - 如何找到列中的最高数字?

MySQL 在每个唯一值第一次出现时 Select 行

MySQL CREATE TABLE 语句中的 PRIMARY KEY 定义