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 ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
随机推荐
- Sql Server多种分页性能的比较
一.前言 因为工作关系,遇到了非常大的数据量的分页问题,数据总共有8000万吧,这个显然不是简单的分页能够解决的,需要从多多方面考虑,从分表.分库等等.但是这个也让我考虑到了分页性能的问题,在不同数据 ...
- Java线程和多线程(六)——守护线程
当我们在Java中创建线程的时候,这个线程在默认的情况下是一个用户线程,并且,如果这个线程在运行,那么JVM就不会终结这个应用.和用户线程不同,当一个线程被标记为守护线程的时候,JVM在用户线程结束的 ...
- Spring---bean的命名
每个Bean可以有一个或多个 id,我们把第一个 id 称为“标识符”,其余id叫做“别名”,这些id在 IoC 容器中必须唯一. Bean id 的命名约定: 遵循XML命名规范 由字母,数字,下 ...
- ListView getChildCount 以及getChildAt 坑 误区指南
今天调试的时候,才知道. 原来listview 的 getChildCount 取得是当前可先的list item 的个数,而不是整个listview 的count. 整个listview 的数量应该 ...
- Android 快捷方式的创建与查询 快捷方式问题大全 获取快捷方式在Launcher数据库中的信息 Failed to find provider info for com.android.la
/** * 创建添加快捷方式 * 其中需要设置的有: * 1. 快捷方式的标题 * 2. 快捷方式的图标 * 3. 点击快捷方式后的跳转 */ public static void createSho ...
- stm32--free modbus 1.5.0移植(作为从机)
添加文件 获取原始free modbus library(官网) 将...\freemodbus-v1.5.0\demo\BARE中的所有文件复制到...\freemodbus-v1.5.0\modb ...
- LDAP操作的两种方案
最近由于项目需要研究了一下LDAP相关知识,感觉对没接触过的人来说还是有点坑的,所以记录下来给大家分享. 由于是第一次接触,就在网上搜了一些相关的文章,照着示例代码测试,却怎么也连不上LDAP服务器, ...
- Windows Phone 图片扩展类
using System.IO; using System.Text; using System.Net; using System.Threading.Tasks; using System.Win ...
- 三 APPIUM GUI讲解(Windows版)
本文本转自:http://www.cnblogs.com/sundalian/p/5629386.html APPIUM GUI讲解(Windows版) Windows版本的APPIUM GUI有 ...
- 孤荷凌寒自学python第二十五天初识python的time模块
孤荷凌寒自学python第二十五天python的time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 通过对time模块添加引用,就可以使用python的time模块来进行相关的时间操 ...