数据库添加数据II及SQL语句错误

前些时候,写的代码(数据库添加数据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>
时间: 2024-10-19 10:59:13

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

创建数据库和表相关的SQL语句

SQL server注释语句有两种: 一种是单行注释,一种是多行注释. ******************** 单行注释用:--注释一行内容 多行注释用:/* *注释 *多行内容 */ 创建数据库: 语句如下: /*创建数据库主文件 create database student:新建数据库逻辑名称为student filename='d:\stduent_data.mdf':数据库文件保存路径和名字. on primary:primary—默认文件组,表示表是建立在主文件组上,可以省略. s

Sql Server中如何快速修正SQL 语句错误

本文将和大家讨论一些关于找SQL 错误的问题. 现在的系统基本都是需要用到数据库的,既然用到数据库我们就要写SQL 脚本,常用的做法是现在Microsoft Sql Server Management Sudio写好调试好,然后贴到 代码中,但这样就能保证我们的SQL 脚本正常运行吗?那如果带参数的SQL 或存储过程出现问题呢?如果数据出现问题,我们应该怎么找出错误的SQL 呢? 带着这个疑问,开始我们今天的讨论.以前用代码和数据库打交道,出现数据问题,我们会打个断点一步一步的调试,就像这样:

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

最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指教,具体如下: 需要的驱动包为:jtds-1.2.jar 首先创建Java项目,就叫testjtds,同时为工程添加hibernate支持 对testjtds鼠标右键,在最下面找到MyEclipse-->Add Hibernate Capabilities...之后 出现如图窗口 当然了,直接nex

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

Mysql简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库.  Mysql ALTER TABLE详细语法 ALTER TABLE用于更改原有表的结构.例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表.您还可以更改表的评注和表的类型.ww

学习Angularjs向数据库添加数据

今天学习angularjs向数据库添加数据. 学习此篇,得从以往几篇开始,因为那还有创建数据表等演示. 现在来创建一个添加的存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[usp_Goods_Insert] ( @Item NVARCHAR(55), @Description NVARCHAR(20), @Qty DECIMAL(10,2) ) AS IF EXISTS(SELECT T

FlowPortal-BPM——注意事项:跨数据库添加数据

跨数据库添加数据 public static void Insert(int TaskID) { SqlConnection conn = new SqlConnection("server=.;database=BPMDBDataTest;user=sa;pwd=123;"); SqlCommand cmd = conn.CreateCommand(); //数据库名.dbo.表名 //添加到数据库下某个表中 查询所有数据 从数据库下某个表或试图中 按条件查询 //特别注意:查询到的

在数据表中添加一个字段的SQL语句怎么写

如果要在数据表中添加一个字段,应该如何表示呢?下面就为您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识. 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0 alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0

面试题 | 数据库笔试题集合&#183;之&#183;SQL语句(2)

第2章 SQL 语句 2.1 选择2.1.1 DELETE FROM S WHERE 年龄>60 语句的功能是( A ) A.从 S 表中彻底删除年龄大于 60 岁的记录B.S 表中年龄大于 60 岁的记录被加上删除标记C.删除 S 表D.删除 S 表的年龄列 2.1.2 使用什么命令可以清除表中所有的内容? ( CD ) A.INSERT  B.UPDATE C.DELETE D.TRUNCATE 2.1.3 以下哪个表不用于 mysql 的权限管理( D ) A.HOST         

mysql 数据类型和sql语句

sql:被称为结构化查询语言 其内部被分为: DML语句:数据操作语言,用于增(insert),删(delete),查(select),改(update) DDL语句:数据定义语言,用于实现数据存储,create,drop,alter DCL语句:数据控制语言,一般用于权限控制.grant,revoke,commit, rollback mysql发行版分为商业版(enterprise 收费),社区版(community  是免费版本) 官网:www.mysql.com mysql 是c/s 架