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 '插入成功';
}
}
数据库