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

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

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

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. </head>
  7. <body>
  8. <form action='insert.php' method='post'>
  9. <p>编号:<input type='text' name='UserID'></p>
  10. <p>姓名:<input type='text' name='UserName'></p>
  11. <p>状态:<input type='text' name='UserStatus'></p>
  12. <p><input type='submit' name='submit' value='保存'><input type='reset' name='reset' value='重置'></p>
  13. </form>
  14. </body>
  15. </html>

insert.php代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>insert</title>
  6. </head>
  7. <body>
  8. <?php
  9. mysql_connect('localhost','root','root') or die(mysql_error());
  10. mysql_select_db('test') or die(mysql_error());
  11. mysql_query('set names utf8');
  12. if(isset($_POST['submit'])){
  13. $UserID=$_POST['UserID'];
  14. $UserName=$_POST['UserName'];
  15. $UserStatus=$_POST['UserStatus'];
  16.  
  17. //错误的
  18. //$sql="insert into users set UserID=$UserID,UserName=$UserName,UserStatus=$UserStatus";
  19.  
  20. //正确
  21. //$sql="insert into users (UserID,UserName,UserStatus) values($UserID,'$UserName',$UserStatus)";
  22.  
  23. //正确
  24. //$sql="insert into users set UserID=$UserID,UserName='$UserName',UserStatus=$UserStatus";
  25.  
  26. //正确
  27. $sql="insert into users set UserID='$UserID',UserName='$UserName',UserStatus=$UserStatus";
  28.  
  29. $result=mysql_query($sql);
  30. if($result){
  31. echo "<script>alert('添加成功!');</script>";
  32. } else{
  33. echo "<script>alert('添加失败!');</script>";
  34. }
  1. } ?> </body> </html>

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

  1. $sql="insert into users set UserID=$UserID,UserName="$UserName",UserStatus=$UserStatus";
  2. $sql='insert into users set UserID=$UserID,UserName='$UserName',UserStatus=$UserStatus';
  3. $sql="insert into users set UserID=$UserID,UserName='$UserName",UserStatus=$UserStatus";

添加多个,代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>insert</title>
  6. </head>
  7. <body>
  8. <?php
  9. $conn=mysql_connect("localhost","root","root")or die("数据库连接失败");
  10. $select_db=mysql_select_db("test")or die("选择数据库失败");
  11. mysql_query("set names utf8");
  12.  
  13. $sql="insert into page (ID,NAME) values ";
  14. $s='';
  15. for($i=1;$i<=200;$i++){
  16. if($i!=200){
  17. $s.="('$i','name$i'),";
  18. } else {
  19. $s.="('$i','name$i')";
  20. }
  21. }
  22. $sql=$sql.$s;
  23. $result=mysql_query($sql);
  24. if($result){
  25. echo "YES";
  26. } else {
  27. echo "添加失败"."<br>".mysql_error();
  28. }
  29. ?>
  30. </body>
  31. </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. 为学Linux 我看了这些书

    去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起“略懂”这两个字的.这一年里我看了很多书,细细数下,大概15本左右,其中包含了两 ...

  2. js-- 一些题目

    1. ~~3.14~~3.14=-((~3.14)+1)=-(-(3.14+1)+1)=-(-(3+1)+1)=-(-4+1) =-(-3)=3 按位非(NOT)(~)操作数的负值减1. 2. var ...

  3. ERROR 1130: Host 'root@localhost' is not allowed to connect to MySQL server

    连接mysql时遇到的错误. 原因:该用户没有权限连接访问mysql数据库 解决方法:网站上搜了好多,试了都没有用.最终在登陆的信息页面用root用户登陆时不输入root密码即可.

  4. Spring学习(二)——Spring中的AOP的初步理解[转]

      [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ...

  5. 转 velocity 模板使用总结

    Velocity是一个基于java的模板引擎.它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一 ...

  6. php中curl和fsockopen发送远程数据的应用

    最近要用到通过post上传文件,网上盛传的有curl的post提交和fsockopen,其中curl最简单,于是从最简单的说起. 这是简单的将一个变量post到另外一个页面 $url = ''; $d ...

  7. Black 全面分析

    Black 全面分析 如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block 为了方便对比,下面的代码我假设是写在ViewController子类中的 1.第一部 ...

  8. bzoj 1834: [ZJOI2010]network 网络扩容

    #include<cstdio> #include<iostream> #include<cstring> #define M 100000 #define inf ...

  9. hdu 4606 Occupy Cities

    http://acm.hdu.edu.cn/showproblem.php?pid=4606 两点之间如果有线段相隔的话,他们的最短路就需要经过线段的端点 把所有线段的端点也加入点数组中,求任意两个点 ...

  10. 三元运算+lambda表达式

    #三元运算,三目运算,if else简写 if 1 == 1: name = "liangml" else: name = "NB" #如果 1==1 成立,n ...