PHP与数据库的传值

PHP将前端获取到的值传入到数据库中,包括对数据库初始化,sql指令post传值,包括将图片传入数据库(图片是以二进制blob形式存储在数据库中)

创建表

图片是以二进制blob形式存储在数据库中

create table pictures(
    id int primary key auto_increment,
    picturename varchar(50) null comment '图片名字',
    picturetime text null comment '时间地点',
    picturedescription varchar(50) null comment '图片描述'
    pic_data longblob;
)charset utf8;

前端

      <form action="picture-input.php" method="post" enctype="multipart/form-data" class="ui form" >
        <input type="hidden" name="id">
        <div class=" field">
          <div class="ui left labeled input m-margin-top">
            <label class="ui teal basic label">图片名称</label>
            <input type="text" name="picturename" placeholder="图片名称">
          </div>
          <div class="ui left labeled input m-margin-top">
            <label class="ui teal basic label">时间地点</label>
            <input type="text" name="picturetime" placeholder="时间地点">
          </div>

          <div class="ui left labeled input m-margin-top">
            <label class="ui teal basic label">图片描述</label>
            <input type="text" name="picturedescription" placeholder="图片描述">
          </div>
          <div class="ui left labeled input m-margin-top">
          <label class="ui teal basic label">选择文件</label>
          <input type="file" name="image" size="40" value="" >
          </div>
        </div>

        <div class="ui error message"></div>
        <!--/*/
          <div class="ui negative message">
            <i class="close icon"></i>
            <div class="header">验证失败</div>
            <p >提交信息不符合规则</p>
          </div>
        /*/-->
        <div class="ui right aligned container">
          <button type="button" class="ui button" onclick="window.history.go(-1)" >返回</button>
          <input class="ui teal submit button" type="submit" value="上传文件">
        </div>
      </form>

后端 

<?php

if (empty($_POST)){
    include ('../admin/pictures-input.html');
}else{
    //数据库初始化
    header('Content-type:text/html;charset=utf-8');
//连接认证
    $link = mysqli_connect('localhost:3306','root','123456') or die('连接失败');

//设定字符集
    mysqli_query($link,'set names utf8');

//选择数据库
    mysqli_query($link,'use myblog');
    //$pic_id['id']=$_POST[null];
    $picturename['picturename']=$_POST['picturename'];
    $picturetime['picturetime']=$_POST['picturetime'];
    $picturedescription['picturedescription']=$_POST['picturedescription'];
    //图片的临时路径
    $image_data = $_FILES['image']['tmp_name'];
    //获取文件大小
    $data = addslashes(fread(fopen($image_data, "r"), filesize($image_data)));

    if (empty($picturename['picturename'])){
        echo '内容不能为空';
        exit();
    }

    $sql = "select count(*) from pictures where picturename = '$picturename[picturename]'";
    $rs = mysqli_query($link,$sql);

    if(mysqli_fetch_row($rs)[0]!=0){
        echo '内容已存在';
        exit();
    }
    //将内容写入
    $sql ="insert into pictures(id,picturename,picturetime,picturedescription,pic_data) 
    values (null,'$picturename[picturename]','$picturetime[picturetime]','$picturedescription[picturedescription]','$data')";
    //$sql ="insert into pictures(id) values ('$picturename[picturename]')";
    if (!mysqli_query($link,$sql) ){
        echo '插入失败';
    }else{
        echo '插入成功';
    }
}

数据库 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值