添加数据到数据库有三种方式
第一种:使用数组添加
$model=D("Info"); //实例化对象 //添加数据的第一种方式:使用数组添加
//要添加的数组,必须是关联数组,key必须为字段名称,字段大小写必须对应
/* $attr=array(
'Code'=>'p004',
'Name'=>'回家',
'Sex'=>true,
'Nation'=>'n002',
'Birthday'=>'1998-2-3'
);*/ /* $attr["Code"]="p005";
$attr["Name"]="数据";
$attr["Sex"]=false;
$attr["Nation"]="n001";
$attr["Birthday"]="1990-3-2";*/ //$model->add($attr); //添加数组的方法,需要参数(该参数是一个关联数组)
第二种:AR方式,用对象
//第二中方式:AR方式,用对象
//主要在.net中使用, 要做三个类1.连接类 2.实体类 3.数据访问类 /* $model->Code="p006";
$model->Name="火炬";
$model->Sex=true;
$model->Nation="n003";
$model->Birthday="1999-4-3"; $model->add(); */
第三种:自动添加表单
1.在模板文件Add.html中制作一个表单
<body>
<form action="__ACTION__" method="post">
<div>代号:<input type="text" name="Code"/></div>
<div>姓名:<input type="text" name="Name"/></div>
<div>性别:
<input type="radio" name="Sex" value="1"/>男
<input type="radio" name="Sex" value="0"/>女
</div>
<div>民族:
<select name="Nation" size="1">
<foreach name="shuzu" item="v">
<option value="<{$v.code}>"><{$v.name}></option>
</foreach>
</select>
</div>
<div>生日:<input type="text" name="Birthday"/></div>
<div><input type="submit" value="添加"/></div>
</form>
</body>
2.通过$_POST收集信息
3.通过create()方法实现数据收集,该方法对于非法的字段会自动进行过滤
//添加数据
function Add()
{
if(empty($_POST))
{
$nation=M("nation");
$attr=$nation->select(); $this->assign("shuzu",$attr); $this->display();
}
else
{
$model=D("Info"); //实例化对象 $model->create(); //自动收集表单并且创建数据 $model->Sex=$_POST["Sex"]=="1"?true:false; $z=$model->add(); if($z)
{
$this->success("添加数据成功","Add",3);
}
else
{
$this->error("添加失败","Add",5);
} } }
注意:如果是主键值重复,这种错误会导致error()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到