zoukankan      html  css  js  c++  java
  • ThinkPHP5.1的数据库链接和增删改查

    一、数据库的链接方式

    <?php
    namespace appindexcontroller;
    use thinkDb;

    class Demo
    {
    //1、全局配置 config/database.php配置
    public function dbTest()
    {
    return Db::table('pzq_article')
    ->where('id','29')
    ->value('title');
    }

    //2、动态配置 thinkdbQuery.php中有一个方法connect()
    public function dbTest2()
    {
    return Db::connect([
    'type'=>'mysql',
    'hostname'=>'localhost',
    'database'=>'top789',
    'username'=>'root',
    'password'=>'root',
    ])
    ->table('pzq_article')
    ->where('id','76')
    ->value('title');
    }

    //3、DSN连接
    public function dbTest3()
    {
    $dsn = 'mysql://root:root@localhost:3306/top789#utf8';
    return Db::connect($dsn)
    ->table('pzq_article')
    ->where('id','88')
    ->value('title');
    }

    //4、单条查旬
    public function dbTest4()
    {
    $res = Db::table('pzq_article')
    ->field(['title'=>'标题','id'=>'编号'])//可添加别名
    ->where('id','=',20)//如果是等号,=可以省略
    ->find();//如果是主键查询,可省略上面where,这行写->find(20);
    dump(is_null($res)?'没有查到':$res);
    }
    //5、多条查旬
    public function dbTest5()
    {
    $res = Db::table('pzq_article')
    ->field(['id','cat_id','title'])
    ->where([
    ['id','>',20],
    ['cat_id','=',2],
    ])//一个条件,直接用表达式->where('id','>',20)。多个条件用数组
    ->order('id desc')->limit(3)->select();

    if(empty($res)){
    return '没有查到';
    }else{
    dump($res);
    }

    }

    //6、数据添加
    public function dbTest6()
    {
    $data = [
    'name'=>'Sam2',
    'age'=>'29',
    'posttime'=>time()
    ];
    $dataall=[
    ['name'=>'Sam3','age'=>'29','posttime'=>time()],
    ['name'=>'Sam4','age'=>'30','posttime'=>time()],
    ];
    //(1)单条插入
    //return Db::table('test')->data($data)->insert();
    //(2)插入同时返回新增主键id
    //return Db::table('test')->insertGetId($data);
    //(3)插入多条数据
    return Db::table('test')->data($dataall)->insertAll();
    }
    //更新数据
    public function dbTest7()
    {
    // return Db::table('test')
    // ->where('id','=',4)
    // ->update(['name'=>'SamC','age'=>'31']);
    //如果where条件是主键,还可以如下使用
    return Db::table('test')
    ->update(['name'=>'SamCheng','age'=>'30','id'=>4]);
    }
    //删除操作
    public function dbTest8()
    {
    //return Db::table('test')->delete(6);
    //或者
    return Db::table('test')->where('id',5)->delete();
    }
    //mysql原生语句 查询
    public function dbTest9()
    {
    $sql = "select name,age from test where id>2";
    dump(Db::query($sql));
    }
    //mysql 增、删、改 用Db::execute($sql)
    public function dbTest10()
    {
    //$sql = "update test set name='samC' where id=4";
    //$sql = "insert test set name='Yan',age='30'";
    $sql = "delete from test where id=4";
    return Db::execute($sql);
    }


    }

  • 相关阅读:
    C#通过属性名字符串获取、设置对象属性值
    程序员的入门 简单的编程HelloWord
    第二章
    Winform笔记
    Semantic框架的使用
    Java多线程中锁的理解与使用
    vue实用组件——页面公共头部
    SpringBoot 整合ElasticSearch,实现站内搜索,高亮关键字
    maven出现如下报错Dmaven.multiModuleProjectDirectory system property is not set
    vue中引入bootsrtap,jquery,elementUI
  • 原文地址:https://www.cnblogs.com/samphp/p/8594291.html
Copyright © 2011-2022 走看看