相关疑难解决方法(0)

如何从MySQL数据库中检索图像并显示在html标记中

我使用phpmyadmin创建了一个带有表的MySQL数据库.我用BLOB列创建了这个表来保存jpeg文件.

$result在这里有关于php变量的问题.

到目前为止我的代码:(catalog.php):

<body>
<?php
  $link = mysql_connect("localhost", "root", "");
  mysql_select_db("dvddb");
  $sql = "SELECT dvdimage FROM dvd WHERE id=1";
  $result = mysql_query("$sql");
  mysql_close($link);

?>
<img src="" width="175" height="200" />
</body>
Run Code Online (Sandbox Code Playgroud)

如何将PHP中的变量$ result导入HTML中,以便在<img>标记中显示?

html php mysql

31
推荐指数
2
解决办法
27万
查看次数

如何使用sql语法(没有PHP)在mysql表中插入blob中的图像?

  1. 嗨,我是SQL的新手,我想将图像存储在数据库中.我已经创建了一个blob数据类型的列,并尝试执行此处给出的以下语句
INSERT INTO `abc`
    (`img`)
    SELECT  
        BulkColumn FROM OPENROWSET(
            Bulk 'C:\Users\adity\Desktop\New folder\a.png', SINGLE_BLOB) AS BLOB
Run Code Online (Sandbox Code Playgroud)

这给出了错误

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便C:\Users\name\Desktop\New folder\a.png在第4行的"(Bulk ,SINGLE_BLOB)AS BLOB" 附近使用正确的语法

我也试过这里给出的代码

insert into table `abc`(`img`) values('C:\Users\name\Desktop\New folder\an.jpg') where id=1;
Run Code Online (Sandbox Code Playgroud)

这给出了错误

#1064 - 您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'table abc(img)值('C:\ Users\adity\Desktop\New folder\an.jpg')附近使用正确的语法,其中第1行为id = 1'

所以请建议我如何在不使用php等的情况下将图像存储在blob中,只需使用简单的sql insert语句.我正在使用wamp服务器作为我的数据库.

  1. 我知道我应该使用文件系统来代替使用数据库.但是文件系统实际意味着什么.它是指文件或图像托管站点,其地址将存储在数据库中.

mysql database blob mysql-loadfile

4
推荐指数
1
解决办法
2万
查看次数

BLOB数据写入数据库失败

我创建了一个数据库,用于存储有关图像以及图像本身的各种数据。我有五把钥匙(id, name, size, format, file)。是id自动递增的。是fileBLOB 类型的值 - (mediumblob)。休息有其各自的类型。奇怪的是,除了 BLOB 图像本身之外,所有其他变量都已成功写入数据库。

等待用户使用以下命令上传图像$_POST

if(isset($_POST['file_one_submit'])){
    $post = 'file_one_input';
}
Run Code Online (Sandbox Code Playgroud)

定义所有变量。包括$file变量:

$file = file_get_contents($_FILES[$post]['tmp_name']);
Run Code Online (Sandbox Code Playgroud)

然后我进行查询以用新信息替换数据库中的记录:

$stmt = $conn -> prepare("REPLACE INTO `images` (id, name, size, format, file) VALUES(?, ?, ?, ?, ?);");
$stmt -> bind_param("isisb", $id, $name, $size, $format, $file);
$stmt -> execute();
Run Code Online (Sandbox Code Playgroud)

file执行查询后,数据库中的所有记录都会成功更新,但应包含 BLOB 数据的列除外。我认为该$post变量可能定义不正确,但获取上传文件的名称例如可以:

upload_name = $_FILES[$post]['name'];
Run Code Online (Sandbox Code Playgroud)

我尝试回显该$file变量以检查其内容,但收到了一大堆垃圾数据,我认为这些数据是在使用该file_get_contents()函数转换为 BLOB 期间生成的正确字符串。

我已经检查过文件的大小没有超出mediumblobBLOB 类型的容量。 …

php mysql mysqli blob

4
推荐指数
1
解决办法
1089
查看次数

标签 统计

mysql ×3

blob ×2

php ×2

database ×1

html ×1

mysql-loadfile ×1

mysqli ×1