添加数据到数据库有三种方式
第一种:使用数组添加
$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()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到