前些时候,写的代码(数据库添加数据I),往数据库添加数据都是很基本的一条一条地添加。但是平常用于测试时,总不可能一条一条地添加测试数据吧,然后我就尝试着一次性添加几百上千条,但是再次操作的时候,就出问题了。因为平常看书的时候,都只是一瞥而过,而且书上写的基本都是函数原型,函数原型相当‘简单’!但是用的时候就容易出错了,所以特意写一篇如何往数据库添加数据。

首先在test数据库中建一个users表,users(UserID,UserName,UserStatus),下划线表示主键,然后开始进行操作,代码见下:

首先是最常用的“一条一条地添加”:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action='insert.php' method='post'>
		<p>编号:<input type='text' name='UserID'></p>
		<p>姓名:<input type='text' name='UserName'></p>
		<p>状态:<input type='text' name='UserStatus'></p>
		<p><input type='submit' name='submit' value='保存'><input type='reset' name='reset' value='重置'></p>
	</form>
</body>
</html>

insert.php代码如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>insert</title>
</head>
<body>
<?php
	mysql_connect('localhost','root','root') or die(mysql_error());
	mysql_select_db('test')  or die(mysql_error());
	mysql_query('set names utf8');
	if(isset($_POST['submit'])){
	 	$UserID=$_POST['UserID'];
		$UserName=$_POST['UserName'];
		$UserStatus=$_POST['UserStatus'];

		//错误的
		//$sql="insert into users set UserID=$UserID,UserName=$UserName,UserStatus=$UserStatus";

		//正确
		//$sql="insert into users (UserID,UserName,UserStatus) values($UserID,'$UserName',$UserStatus)";

		//正确
		//$sql="insert into users set UserID=$UserID,UserName='$UserName',UserStatus=$UserStatus";

		//正确
		$sql="insert into users set UserID='$UserID',UserName='$UserName',UserStatus=$UserStatus";

		$result=mysql_query($sql);
		if($result){
			echo "<script>alert('添加成功!');</script>";
		} else{
			echo "<script>alert('添加失败!');</script>";
		}
} ?> </body> </html>

注意在写SQL语句的时候,一定要注意单引号和双引号的使用:对于字符串,必须用引号包含;数字可以用,也可以不用。最重要的一点便是,双引号与单引号同时嵌套使用的时候,一定要注意不要弄混,必须遵从“双引号包含单引号”或者“单引号包含双引号”,绝对不能下面这三个例子(全是错误的):

$sql="insert into users set UserID=$UserID,UserName="$UserName",UserStatus=$UserStatus";
$sql='insert into users set UserID=$UserID,UserName='$UserName',UserStatus=$UserStatus';
$sql="insert into users set UserID=$UserID,UserName='$UserName",UserStatus=$UserStatus";

添加多个,代码如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>insert</title>
</head>
<body>
	<?php
		$conn=mysql_connect("localhost","root","root")or die("数据库连接失败");
		$select_db=mysql_select_db("test")or die("选择数据库失败");
		mysql_query("set names utf8");

		$sql="insert into page (ID,NAME) values ";
		$s='';
		for($i=1;$i<=200;$i++){
			if($i!=200){
				$s.="('$i','name$i'),";
			} else {
			$s.="('$i','name$i')";
			}
		}
		$sql=$sql.$s;
		$result=mysql_query($sql);
		if($result){
			echo "YES";
		} else {
			echo "添加失败"."<br>".mysql_error();
		}
	 ?>
</body>
</html>

数据库添加数据II及SQL语句错误的更多相关文章

  1. 1.4 数据库和常用SQL语句(正文)——MySQL数据库命令和SQL语句

    前面我们已经讲述了,登录时,我们使用mysql –u root –p命令进行,此时如果设置了密码,则需要输入密码. 输入密码后即进入MySQL的操作界面,此时,命令行窗体左侧显示"mysql ...

  2. 项目总结04:SQL批量导入数据:将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库

    将具有多表关联的Excel数据,通过sql语句脚本的形式,导入到数据库 写在前面:本文用的语言是java:数据库是MySql: 需求:在实际项目中,经常会被客户要求,做批量导入数据:一般的简单的单表数 ...

  3. (转载)异构数据库之间完全可以用SQL语句导数据

    <来源网址:http://www.delphifans.com/infoview/Article_398.html>异构数据库之间完全可以用SQL语句导数据 告诉你一个最快的方法,用SQL ...

  4. 使用C#类向数据库添加数据的例子源码

    在上一篇中,增加了sql server数据库操作类SqlOperator,用于操作sql server数据库.还有一个SqlStringHelper类,用于处理sql语句的单引号.那么这两个类怎么使用 ...

  5. 使用excel中的数据快速生成sql语句

    在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候.这个时候,现场实施或客户会给你一份EXCEL文档,里面包含了一些别的系统上的历史数据,然后就让你导入到现在的系统上面去. ...

  6. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  7. Mysql下在某一列后即表的某一位置添加新列的sql语句

    Mysql简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤 ...

  8. Oracle数据库查找持有锁的SQL语句,而不是请求锁的SQL语句(原创)

    Oracle数据库查找持有锁的SQL语句,而不是请求锁的SQL语句 查找活动的事务以及活动事务关联的会话信息 select s.sid 会话ID, s.serial# 会话序列号, s.usernam ...

  9. 学习Angularjs向数据库添加数据

    今天学习angularjs向数据库添加数据. 学习此篇,得从以往几篇开始,因为那还有创建数据表等演示. 现在来创建一个添加的存储过程: SET ANSI_NULLS ON GO SET QUOTED_ ...

随机推荐

  1. 集合框架,ArrayList和Vector的区别,让arrayList线程安全的几种方案

    boolean add(E e) 将指定的元素添加到此列表的尾部. void add(int index, E element) 将指定的元素插入此列表中的指定位置. boolean addAll(C ...

  2. CI(CodeIgniter)框架介绍

    CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包.它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一 ...

  3. 【转载】如何在德州仪器网站查找和下载PCB封装

    德州仪器的网站做得相当不错,查找IC资料和下载IC封装样样给力.那么如何在TI网站上能够快速查找到自已需要的PCB封装呢?下面我来告诉你. 1.       在浏览器中输入网址http://weben ...

  4. SQL SERVER 2008安装错误(is not a valid login or you do have permission)

    在网上搜索查找问题: 原因:[计算机名] 与[账号名称]名称一致. 解决方案: 修改计算机名 桌面 -> 我的电脑 -> 右鍵点击属性 -> 选择计算机名选项卡 -> 更改 - ...

  5. 固定定位fixed(IE6)

     position: fixed;          left:200px;          top:100px;          _left:200px;          _top:100px ...

  6. 使用Yeoman,Grunt和Bower开发AngularJS(译)

    使用Yeoman产生AngularJS的主要骨架 使用Grunt加速开发和帮助执行 使用Bower来加入第三方插件和框架——third party plugins/frameworks 一.准备工作 ...

  7. jQuery实现图片延迟加载

    html: <img src ="占位图路径" data-original="真实图片路径" /> js: $("img").l ...

  8. POJ 2159 Ancient Cipher 难度:0

    题目链接:http://poj.org/problem?id=2159 #include <cstring> #include <cstdio> #include <cc ...

  9. LTP学习

    下载LTP源码和模型文件: https://github.com/linux-test-project/ltp 官方说明文档 http://ltp.readthedocs.org/zh_CN/late ...

  10. centos7 学习1 KDE配置中文

    安装kde桌面后没有中文,可以用以下方法配置中文 #yum list kde*chinese 会显示可以安装的包,我的显示如下 kde-l10n-Chinese.noarch -.fc14 @upda ...