添加数据到数据库有三种方式

第一种:使用数组添加

                        $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()方法不跳转页面直接抛出错误信息,这是新版本问题,如果想要跳转,找到

 

ThinkPHP讲解(六)——添加数据的更多相关文章

  1. TP框架---thinkphp查询和添加数据

    查询 <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controlle ...

  2. thinkphp添加后台的构思以及添加数据功能

    先写个表单提交,这就是个简单的后台了...其实也可以通过phpadmin...phpadmin也叫后台的吧...一切都是为了更方便快捷... 先弄个模板,简单了点,就是为了了解实现的流程和原理 < ...

  3. ThinkPHP批量添加数据和getField()示例

    批量添加数据 // 批量添加数据 $User = M('users'); $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp ...

  4. thinkphp添加数据 add()方法

    thinkphpz内置的add()方法用于向数据库表添加数据,相当于SQL中的INSERT INTO 行为添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创 ...

  5. ThinkPHP 添加数据到数据库失败

    ThinkPHP 添加数据到数据库失败 一般情况下会先检查一下几个方面 检查控制器或Model名是否有误 检查需要插入的数据是否为空或者缺失参数 检查数据表名及字段名称(大部分下都是字段名有误出错的) ...

  6. ThinkPHP讲解(八)——显示、修改、添加、删除

    一.显示数据 <h1>主页面</h1> <table width="100%" border="1" cellpadding=&q ...

  7. [Asp.net MVC]Asp.net MVC5系列——添加数据

    目录 概述 显示添加数据时所用表单 处理HTTP-POST 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列 ...

  8. PHP---TP框架---添加数据-----有三种方式

    添加数据 添加数据有三种方式: 第一种: <?php namespace Home\Controller;//这个文件的命名空间 use Think\Controller;//use使用哪一个而 ...

  9. WCF学习心得------(六)数据协定

    --前言 最近各种事忙的把之前的WCF学习给耽误了一些,今天抽时间把之前的学习内容给总结了一下,因为知识点比较细碎没有做太多的练习示例,只是对其中关键的知识点做了总结,希望可以对大家有所帮助. 第六章 ...

随机推荐

  1. 采用asyncore进行实时同步

    最近在维护项目的时候,发现某个实时数据同步功能非常容易失败,故静下心来彻底弄清楚该设计的实现原理,以及其中用到的python异步sockethandler : asyncore. 实时数据同步功能的设 ...

  2. SQLAlchemy 一对多

    下述範例描述了電影同導演的多對一關係.範例中說明了從用戶定義的Python類建立數據表的方法,雙方關係例項的建立方法,以及最終查詢數據的方法:包括延遲載入和預先載入兩種自動生成的SQL查詢. 結構定義 ...

  3. Selenium2学习-032-WebUI自动化实战实例-030-JavaScript 在 Selenium 自动化中的应用实例之五(高亮标示元素)

    在自动化脚本编写过程中,操作元素之前,需要对元素进行高亮显示(通过修改元素的边框样式),同时进行截图,以记录操作的元素对象.在实际应用中较为少见,通常用于演示,或者发生错误时的屏幕截图捕捉,用于错误报 ...

  4. iOS基础

    1.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用? readwrite 是可读可写特性:需要生成getter方法和s ...

  5. 详解js变量、作用域及内存

    详解js变量.作用域及内存 来源:伯乐在线 作者:trigkit4       原文出处: trigkit4    基本类型值有:undefined,NUll,Boolean,Number和Strin ...

  6. shell脚本编程-使用结构化命令(if/else)(转)

    11.1 使用if-then语句 格式如下 if语句会执行if行定义的那个命令,如果该命令的退出状态码是0,则then部分的语句就会执行,其他值,则不会   1 2 3 4 if command th ...

  7. Docker容器管理

    容器是Docker第二个核心概念,简单的的说容器是镜像的一个运行实例,所不同的是,它带有额外的可写文件层. 如果说虚拟机是模拟运行了一整套操作系统(提供运行态环境和其他系统环境)和跑在上面的应用.那么 ...

  8. Android 使用FACE++架构包实现人脸识别

    今天给大家带来一个通过使用Face++来实现人脸识别的功能. 我们先去这个Face++官网看看:http://www.faceplusplus.com.cn 我们点开案例可以看到众多我们熟知的软件都是 ...

  9. eclipse报jvm terminated.exitcode=2异常解决办法

    由于安转了oracle,而oracle又自带了jdk,版本好像是1.1的,冲突了.具体可以查看path值.解决方法:删掉oracle的,或者是将oralce的path配置项移到java的配置项后面,建 ...

  10. jQuery基础修炼圣典—DOM篇(一)

    一.DOM节点的创建 1.创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. ...