ajax上传图片到数据库中(不会即时显示)
一共三个页面
数据表结构

数据表内容

第一个页面 nicheng.html
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>
我的
</title>
<!--
下面的jquery文件在谷歌浏览器中显示,请使用谷歌浏览器查看结果
-->
<script src="https://weui.io/zepto.min.js">
</script>
<script>
$(function() {
$('#showTooltips').click(function() {
//我这里单独拿出来判断昵称个签是否为空
var nicheng = $('#nicheng').val();
var geqian = $('#geqian').val();
if (nicheng == "") {
alert("请填入昵称");
return false;
}
if (geqian == "") {
alert("请填入个签");
return false;
} var data = new FormData($('#form1')[]);
$.ajax({
type: "POST",
url: "nichengtest.php",
dataType: "json",
data: data,
processData: false,
contentType: false,
success: function(data) {
if (data.code == ) {
alert(data.msg);
} else {
alert(data.msg);
}
},
});
});
});
</script>
</head>
<body>
<form id="form1">
<div>
<div>
<label>昵称</label>
</div>
<div>
<input id="nicheng" name="nicheng" type="text" placeholder="请输入昵称">
</div>
</div>
<div>
<div>
<label>个性签名</label>
</div>
<div>
<input id="geqian" name="geqian" type="text" placeholder="请完善你的个签吧">
</div>
</div>
<div>
<div>
<label>图片</label>
</div>
<div>
<input id="tupian" name="tupian" type="file" placeholder="选择文件">
</div>
</div>
<div>
<a href="javascript:" id="showTooltips">确定
</a>
</div>
</form>
</body> </html>
第二个页面nichengtest.php
<?php
require ("mysql_class.php");
$db = new Mysql("localhost", "root", "", "userdb");
if (isset($_POST["nicheng"]) && isset($_POST["geqian"])) {
$nicheng = $_POST['nicheng'];
$geqian = $_POST['geqian'];
//图片的二进制数据
$image = mysql_escape_string(file_get_contents($_FILES['tupian']['tmp_name']));
//图片的类型
$type = $_FILES['tupian']['type'];
define("TABLENAME", "user_nicheng");
define("COL", "(nicheng,geqian,type,binarydata)");
define("VAL", "('$nicheng','$geqian', '$type','$image')");
if (!$db -> isnull2($nicheng, $geqian)) {
$data = array("code" => , "msg" => "参数为空", );
die(json_encode($data));
} else {
$insert = $db -> insert(TABLENAME, COL, VAL);//插入昵称,个签,图片信息 }
$data = array("code" => , "msg" => "发布成功", );
die(json_encode($data));
}
?>
第三个页面mysql_class.php
<?php
header("content-type:text/html;charset=utf-8");
class Mysql {
private $host;
//服务器地址
private $root;
//用户名
private $password;
//密码
private $database;
//数据库名 //通过构造函数初始化类
function Mysql($host, $root, $password, $database) {
$this -> host = $host;
$this -> root = $root;
$this -> password = $password;
$this -> database = $database;
$this -> connect();
} function connect() {
$this -> conn = mysql_connect($this -> host, $this -> root, $this -> password);
// if($this->conn){
// echo "连接mysql成功";
// }else{
// echo "连接mysql失败";
// }
// $this->conn=
mysql_select_db($this -> database, $this -> conn);
// if($this->conn){
// echo "连接db成功";
// }else{
// echo "连接db失败";
// }
mysql_query("set names utf8");
} function dbClose() {
mysql_close($this -> conn);
} function query($sql) {
return mysql_query($sql);
} function row($result) {
return mysql_fetch_row($result); } function arr($result){
return mysql_fetch_array($result);
}
function num($result){
return mysql_num_rows($result);
} function select($tableName, $condition) {
return $this -> query("SELECT COUNT(*) FROM $tableName $condition");
}
function selectsql($tableName) {
return $this -> query("SELECT * FROM $tableName");
}
function insert($tableName, $fields, $value) {
$this -> query("INSERT INTO $tableName $fields VALUES$value");
} } ?>
一篇即时显示的ajax代码
http://blog.csdn.net/fdipzone/article/details/38910553

ajax上传图片到数据库中(不会即时显示)的更多相关文章
- 网络采集软件核心技术剖析系列(6)---将任意博主的全部博文下载到SQLite数据库中并通过Webbrower显示(将之前的内容综合到一起)
一 本系列随笔目录及本节代码下载 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软 ...
- JDBC方式从数据库中查询数据并显示
1.创建数据库表myuser DROP TABLE IF EXISTS `myuser`; CREATE TABLE `myuser` ( `) NOT NULL COMMENT '姓名', `id` ...
- 用JSP从数据库中读取图片并显示在网页上
<1>先在mysql下建立如下的table. 并insert图像. mysql.sql文件如下: CREATE TABLE photo ( photo_no int(6) unsigned ...
- 在JSP中上传图片到数据库中
第一步:建立数据库 create table test_img(id number(4),name varchar(20),img long raw); 第二步:(NewImg.html) <h ...
- 【JSP】上传图片到数据库中
第一步:建立数据库 create table test_img(id number(4),name varchar(20),img long raw); 第二步:(NewImg.html) <h ...
- 向mysql数据库中插入数据时显示“Duplicate entry '1′ for key ‘PRIMARY' ”错误
错误情况如题,出现这个错误的原因十分简单: 很明显,这是主键的问题. 在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其 ...
- EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)
本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...
- PHP中将数据库中的数据显示在网页
最近没事把以前的东西感觉还可以的又简单的看了以下,因为还在学习新的东西,所以,发表的博客也不是很多,也许是有感而发吧. 这次讲的是mysql数据库中的数据使用php如何显示在网页中.首先,先建好自己的 ...
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
随机推荐
- tomcat7 配置 https安全访问
在apache-tomcat-7.0.33-windows-x64.zip配置https,结果在配置SSL时遇到一些问题 1.用JDK自带的keytool来生成私有密钥和自签发的证书,如下: keyt ...
- Android 文件管理器通用类 FileUtil
1.整体分析 1.1.源代码如下,可以直接Copy. public class FileUtil { private FileUtil() { } //****系统文件目录************** ...
- Kafka安装和常用操作命令
Kafka安装: 下载kafka_2.10-0.8.2.1 1.关闭防火墙 2.修改配置文件 server.properties broker.id=1log.dirs= /usr/kafka_2. ...
- 大数据服务大比拼:AWS VS. AzureVS.谷歌
[TechTarget中国原创] 对于企业用户来说,大数据服务是一项较具吸引力的云服务.三大巨头AWS.Azure以及谷歌都在力争夺得头把交椅,但是最后到底是哪一家能够取得王座之战的胜利呢? 云市场正 ...
- 使用闭包和lambda解决问题与常规方式解决问题的对比。
先来描述一下问题吧,游戏中的物品原来只有一个属性加成:攻击,防御,获得经验加成,金币加成,等等.现在要增加一个属性,这个属性可以为之前的属性之一. 这个属性加成涉及到类里的三个属性,value,typ ...
- jmeter之录制控制器与代理的使用
1. 先启动jmeter,在测试计划中添加线程组 2. 选中线程组右键添加,在配置元件中点击HTTP请求默认值 3. 选中线程组右键添加,在逻辑控制器中点击录制控制 ...
- (转)Unreal Shader模块(四): 着色器编译
本文为(转):Unreal 调试着色器编译过程 调试着色器编译过程 Rolando Caloca 在 April 19, 2016 | 学习编程 Share on Facebook Shar ...
- OpenCV_1.0安装包下载
OpenCV_1.0安装包下载 点击下载
- hdu 1714 RedField
RedField Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- nginx禁止访问目录中可执行文件
某些网站系统需要用户上传图片等文件到某些目录下,难免程序有些漏洞,导致用户上传了php.cgi等等可执行的文件,导致网站陷入非常为难的境地. 此时我们可以通过nginx来禁止用户访问这些目录下的可执行 ...