前些时候,写的代码(数据库添加数据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>