第九十九天上课 PHP TP框架 数据库查询和增加

时间:2023-12-10 22:11:50

在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php

<?php
namespace Home\Model;
use Think\Model;
class yonghuModel extends Model
{

}

实例化数据库的三种方法

    //调用Model文件夹下的模型
    public function shujuku1()
    {
        $yonghu=new  \Home\Model\yonghuModel;   //实例化自己创建的Model,(注意路径书写完整)
        var_dump($yonghu);
    }

    //D方法直接实例化
    public function shujuku2()
    {
        $yonghu=D('yonghu');  //直接利用D方法,需要一个参数,数据库下的表名称
        var_dump($yonghu);
    }

    //M方法直接实例化(造父类对象)
    public function shujuku3()
    {
        $yonghu=M('yonghu');  //直接利用M方法,需要一个参数,数据库下的表名称
        var_dump($yonghu);
    }

查询数据库

    //查询数据库
    public function chaxun()
    {
        $yonghu=D('yonghu');
        var_dump($yonghu->select()); //select查询方法,返回索引为小写的二维数组(只能放在连贯操作的最后面)
    }

给数据库添加数据的三种方法

    //造数组的方式添加
    public function add1()
    {
        $mode=D("yonghu");       //实例化数据库yonghu表,(将表转化成类)
        $attr=array              //造数组,数组的索引和数据库列名一一对应
        (
             'zhanghao'=>001,
             'mima'=>123,
             'mingzi'=>'刘大',
             'xingbie'=>'男',
             'shengri'=>'1990-07-09',
             'shijian'=>'2016-6-16 14:09:30',
             'shengfen'=>'管理',
             'zhuangtai'=>'已激活',
        );
        $mode->add($attr);        //添加到数据库
    }
    //赋值类成员的方式添加
    public function add2()
    {
        $mode=D('yonghu');              //实例化数据库yonghu表,(将表转化成类)
        $mode->zhanghao='002';          //对类成员进行赋值,成员名与数据库列名一一对应
        $mode->mima='123';
        $mode->mingzi='小二';
        $mode->xingbie='男';
        $mpde->shengri='1992-09-09';
        $mode->shijian='2016-6-16 14:09:31';
        $mode->shengfen='用户';
        $mode->zhuangtai='未激活';
        $mode->add();                    //添加到数据库

    }
    //自动收集表单成员数据的方式添加
    public function add3()
    {
        $mode=D('yonghu');    //实例化数据库yonghu表,(将表转化成类)
        $mode->create();      //自动收集表单 表单的name和数据库的列名必须一一对应
        $z=$mode->add();         //添加到数据库
        if($z)
        {
            $this->success("添加数据成功!","Add",3);   //添加成功时提示
        }
        else
        {
            $this->error("添加失败!","Add",5);         //添加失败时提示
        }
    }

连接数据库时需要配置的配置文件内容

<?php
return array
(
    //'配置项'=>'配置值'
    'TMPL_L_DELIM'  =>  '<{',
    'TMPL_R_DELIM'  =>  '}>',
    'URL_MODEL'=>2,
    'SHOW_PAGE_TRACE' => TRUE,

     /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'index',     // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '',          // 密码
    'DB_PORT'               =>  '',          // 端口
    'DB_PREFIX'             =>  '',          // 数据库表前缀
    'DB_PARAMS'             =>  array(),     // 数据库连接参数
    'DB_DEBUG'              =>  TRUE,        // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  true,        // 启用字段缓存
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
    'DB_DEPLOY_TYPE'        =>  0,           // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'DB_RW_SEPARATE'        =>  false,       // 数据库读写是否分离 主从式有效
    'DB_MASTER_NUM'         =>  1,           // 读写分离后 主服务器数量
    'DB_SLAVE_NO'           =>  '',          // 指定从服务器序号
);

error方法屏蔽系统报错的办法

->将TP\ThinkPHP\Library\Think\Db文件夹下的Driver.class.php文件第237行  “  $this->error(); ” 注释掉