如何把二维码导入到mysql中?

发布于 2022-09-05 09:17:29 字数 117 浏览 24 评论 0

**如何把二维码导入到mysql中?
然后怎么调用mysql的二维码数据?**
(纯前端小白第一次接触MYSQL,忘体谅。)


希望大家一起进步!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

酒绊 2022-09-12 09:17:29

三个思路:

  • 二维码就是一段文本,只要存储这段文本就好了;

    比如这个二维码:
    

    图片描述

    
    其实就是`https://segmentfault.com/`。
    
  • 虽然二维码就是一段文本,但是很多二维码有很多花样。这些花样或者只有观赏效果(比如颜色和图标),没有实际意义;或者适用于纠错,没有内部意义。如果想保存,尽量只保存图片到本地,不要存到数据库;数据库中可以记录本地保存的这个图片的位置和名称

  • 如果非要带花样存到数据库,那就用二进制存储到数据库,但是建议不这么做,效率很低;或者先把图片使用BASE64编码,再存到数据库,虽然这个方法更容易理解接受,但更不建议这么做,不仅效率更差,而且占用空间会变成原来的三分之四。

总而言之,数据库的优势在于查询,而不是存储。

深居我梦 2022-09-12 09:17:29

二维码其实也就是一串文本而已.
生成二维码,就是将文本生成相应的二维码.

你只需要将二维码对应的值存到 MySQL 就行

秋日私语 2022-09-12 09:17:29

二维码就一段文本,数据库可以存文本

前台显示:

存储:

  • 如果你的来源就是一张二维码图片,那么,如果能识别二维码并得到文本(比如后台可以识别),那么存文本

  • 如果无法识别,服务器存图片即可,和数据库无关。

  • 另外不要将二进制存入MySQL,这种方式很低效。

音栖息无 2022-09-12 09:17:29
  1. 如果二维码是标准完全可以识别的就将二维码识别成文本存入数据库,取出时候文本在生成二维码图片字节数组

  2. 如果二维码是非标准的可以将二维码图片编码成Base64文本存入数据库,取出时候Base64文本转换成二维码图片字节数组就可以了

一身骄傲 2022-09-12 09:17:29

核心是将图片二进制数据存入数据库blob类型的字段

CREATE TABLE `upload` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(20) NOT NULL,
  `data` mediumblob NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

HTML

<!doctype html>
    <html>
<head>
    <title>
        Post-Image
    </title>
</head>
<body>
<form action="post.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file"/>
    <input type="submit" value="OK"/>
</form>
</body>
</html>

PHP

<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
    $type = $_FILES["file"]["type"];
    $size = $_FILES['file']['size'];
    $tmp=$_FILES["file"]["tmp_name"];
    $fp = fopen($tmp,'rb');
    $data = bin2hex(fread($fp,$size));
    $dsn='mysql:host=localhost;dbname=test';
    echo '<pre>';
    try{
        $pdo = new PDO($dsn,'root','root');
        $pdo->exec("INSERT INTO `upload`(`type`,`data`) values ('$type',0x$data)");
        $id = $pdo->lastInsertId();
        echo 'upload success!<a href="view.php?id='.$id.'">View</a>';
        $pdo = null;
    }catch (PDOException $e){
        echo $e->getMessage();
    }
    echo '</pre>';
    fclose($fp);
}

输出二维码

<?php
$id = $_GET['id'];
if(is_numeric($id)){
    $dsn='mysql:host=localhost;dbname=test';
    try{
        $pdo = new PDO($dsn,'root','root');
        $rs = $pdo->query('select * from `upload`  where `id`='.$id);
        $row = $rs->fetchAll();
        $data = $row[0];
        header("Content-Type:${data['type']}");
        echo $data['data'];
        $pdo = null;
    }catch (PDOException $e){
        echo $e->getMessage();
    }
}else{
    exit();
}
青柠芒果 2022-09-12 09:17:29

数据库保存二维码的链接地址;

夏见 2022-09-12 09:17:29

可以把二维码图片转换成base64或者其他二进制数据格式。不过更推荐的是把二维码中的数据读出来存进数据库,需要的时候再把数据取出来转换会二维码。

离不开的别离 2022-09-12 09:17:29

二维码视为图片,上传图片,存储链接,在进行数据存储时要尽量避免大字段例如,blog ,text等字段的出现

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文