Étude de cas sur le fonctionnement de la base de données thinkphp5.0

jacklove
Libérer: 2023-04-01 09:16:02
original
3469 Les gens l'ont consulté

1. Types de bases de données pris en charge

Mysql, SqlServer, pgSQL, SQLite et autres bases de données

Comment se connecter à la base de données

1. Définition du fichier de configuration

a. Répertoire du fichier de configuration
Projet applicationdatabase.php
b. Comment configurer

return [    // 数据库类型
    'type'            => 'mysql',    // 服务器地址
    'hostname'        => '127.0.0.1',    // 数据库名
    'database'        => '',    // 用户名
    'username'        => 'root',    // 密码
    'password'        => '',    // 端口
    'hostport'        => '3306',
];
Copier après la connexion
Copier après la connexion

c. Comment utiliser

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();//使用sql语句$data=$DB::query("select * from user");
Copier après la connexion
Copier après la connexion

2. >1. Utilisez Array

2. Utilisez la chaîne

//Db类中的connect方法:数据库初始化 并取得数据库类实例        $DB=Db::connect([    // 数据库类型
    'type'            => 'mysql',    // 服务器地址
    'hostname'        => '127.0.0.1',    // 数据库名
    'database'        => 'edu',    // 用户名
    'username'        => 'root',    // 密码
    'password'        => '',    // 端口
    'hostport'        => '3306',
]);
Copier après la connexion
Copier après la connexion

3. Comment utiliser

//Db类中的connect方法:数据库初始化 并取得数据库类实例$DB=Db::connect("mysql://root:@127.0.0.1:3306/edu#utf8");
Copier après la connexion
Copier après la connexion

3. 🎜>
$data=$DB->table('user')->select();
Copier après la connexion
Copier après la connexion

1. Créer un modèle de données

a. Création de ligne de commande

  • b. . Ouvrez le répertoire du modèle de données (project applicationindexmodel)

    2. Créez un nouveau fichier User.php sous le répertoire file
  • 3 Écrivez le code dans le fichier


  • <🎜. >2. Comment configurer

    <?php
        // 声明命名空间(位置)
        namespace app\index\model;    // 声明控制器
        use think\Model;    class User extends Model
        {
        }?>
    Copier après la connexion
    Copier après la connexion
    3. Comment utiliser

3. Méthode .tp
<?php
    // 声明命名空间(位置)
    namespace app\index\model;    // 声明控制器
    use think\Model;    class User extends Model
    {
        // 使用数组连接数据库
        protected $connection=[            // 数据库类型
            &#39;type&#39;            => &#39;mysql&#39;,            // 服务器地址
            &#39;hostname&#39;        => &#39;127.0.0.1&#39;,            // 数据库名
            &#39;database&#39;        => &#39;edu&#39;,            // 用户名
            &#39;username&#39;        => &#39;root&#39;,            // 密码
            &#39;password&#39;        => &#39;&#39;,            // 端口
            &#39;hostport&#39;        => &#39;3306&#39;,
        ];        //使用字符串
        protected $connection="mysql://root:@127.0.0.1:3306/edu#utf8";
    }?>
Copier après la connexion
Copier après la connexion

// 使用模型定义连接public function data2(){
    echo "使用模型连接数据库";    $user=new \app\index\model\User();
    dump($user::all());
}
Copier après la connexion

2. Utiliser l'instruction SQL

4. Utilisation de base de la base de données

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();
Copier après la connexion

prend en charge la requête (opération de requête) et exécute (opération d'écriture)

//使用sql语句$data=$DB::query("select * from user");
Copier après la connexion
0. Obtenez l'instruction SQL spécifiée

<. 🎜>1. Requête

2. Ajouter

// 获取执行的sql语句echo Db::getLastSql();
Copier après la connexion
Copier après la connexion

3. 4 .Modifier

$data=Db::query("select * from user");
$data=Db::query("select * from user where id >=? and id<=?",[5,8]);
Copier après la connexion
Copier après la connexion

5. Traitement des données TP

$data=Db::execute("insert into user value(null,&#39;user1&#39;,&#39;123&#39;,&#39;18&#39;)");
$data=Db::execute("insert into user value(null,?,?,?)",[&#39;user2&#39;,&#39;123&#39;,&#39;20&#39;]");
$data=Db::execute("insert into user value(null,:name,:pass,:age)",[&#39;name&#39;=>&#39;user3&#39;,&#39;pass&#39;=>&#39;123&#39;,&#39;age&#39;=>&#39;20&#39;]);
Copier après la connexion
Copier après la connexion

Opération de requête<🎜. >

$data=Db::execute("delete from user where id=10");
$data=Db::execute("delete from user where id>?",[15]);
$data=Db::execute("delete from user where id>:id",[&#39;id&#39;=>10]);
Copier après la connexion
Copier après la connexion

2. Opération d'insertion

$data=Db::execute("update user set age=&#39;20&#39; where id=?",[15]);
Copier après la connexion
Copier après la connexion

3. Mettre à jour les données

4. Supprimer les données

1.table方法查询数据
    // 查询所有数据
    $data=Db::table("user")->select();
    // 查询一条数据
    $data=Db::table("user")->find();
2.name方法查询数据
    //name方法会自动添加上配置文件中的表前缀,与配置文件有关
    $data=Db::name("user")->select();
    $data=Db::name("user")->find();
3.助手函数
    $data=db("user")->select();
    $data=db("user")->find();
4.where条件匹配
    $data=Db::table("user")->where("id",">",5)->select();
    $data=Db::table("user")->where("id","<",11)->where("id",">",8)->select();
    $data=Db::table("user")->where("name","like","%tian%")->select();
    $data=Db::table("user")->where("name","wanlisha")->where("pass","wanlisha")->select();
5.whereor条件查询
    $data=Db::table("user")->where("id","<=",&#39;21&#39;)->whereOr("id","<=",5)->select();
    $data=Db::table("user")->where("name",&#39;like&#39;,"%tian%")->whereOr("name",&#39;like&#39;,&#39;%wanli%&#39;)->select();
    $data=Db::table("user")->where("name|pass",&#39;like&#39;,"%tian%")->select();//
6.limit截取数据
    $data=Db::table("user")->limit(2)->select();
    $data=Db::table("user")->limit(0,2)->select();
7.order实现排序
    $data=Db::table("user")->order(&#39;id&#39;)->select();
    $data=Db::table("user")->order("id","desc")->select();
8.field 设置查询字段
    //设置查询字段
        $data=Db::table("user")->field(&#39;name,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;,&#39;pass&#39;])->select();
    // 给name起别名
        $data=Db::table("user")->field(&#39;name uname,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;=> &#39;uname&#39;,&#39;pass&#39;])->select();
    // sql的系统函数
        $data=Db::table("user")->field("count(*) as tot")->select();
        $data=Db::table("user")->field(["count(*)"=>"tot"])->select();
    //排除字段
        $data=Db::table("user")->field("name,pass",true)->select();
        $data=Db::table("user")->field(["name","pass"],true)->select();
9.Page实现分页效果
    $data=Db::table("user")->page(3,5)->select();
    $data=Db::table("user")->page("3,5")->select();
10.分组聚合
    $data=Db::table("user")->field("pass,count(*) tot")->group("pass")->select();
11.having过滤
    // 只能结合分组使用
        $data=Db::table("user")->field("pass,count(*) tot")->having("tot >=4")->group("pass")->select();
12.多表查询
    // 内敛实现数据库连接
        $data=Db::query("select product.*,fenlei.name tname from fenlei,product where product.cid=fenlei.id");
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id")->select();
        // 右链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;right&#39;)->select();
        // 左链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;left&#39;)->select();
13.别名使用-给表起别名
    $data=Db::table("product")->alias(&#39;p&#39;)->field("p.*,f.name fname")->join("fenlei f","p.cid=f.id",&#39;left&#39;)->select();
14.union集合
    $data=Db::field("name")->table("user")->union("select name from product")->select();
15.参数绑定bind为了防止sql注入
    //自动轻微防止sql注入
    $data=Db::table("user")->where("id",$id)->delete(); 
    //不防注入 建议不要使用原生的sql语句
    $data=Db::execute("delete from user where id=$id");
    //防注入
    $data=Db::table("user")->where("id",":id")->bind([&#39;id&#39;=>[$id,\PDO::PARAM_INT]])->delete();
16.统计数据
        $data=Db::table("user")->max("age");
        $data=Db::table("user")->min("age");
        $data=Db::table("user")->avg("age");
        $data=Db::table("user")->sum("age");
        $data=Db::table("user")->count();
17.视图查询(多表查询)
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid")->select();
        // 左连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","right")->select();
        // 右连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","left")->select();
Copier après la connexion
Copier après la connexion

6. Mécanisme de transaction

1.插入单条数据
    // 数组中的字段名必须和数据库中字段名一致
        $data=[
            &#39;name&#39;=>&#39;张三&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ];
        // 返回值:影响行数
        $code=Db::table("user")->insert($data);
        $code=db("user")->insert($data);
2.插入多条数据
    $data=[
        [
            &#39;name&#39;=>&#39;张三1&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ],
        [
            &#39;name&#39;=>&#39;张三2&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ]
    ];
    //返回值:影响行数 
    $code=Db::table("user")->insertAll($data);
    $code=db("user")->insertAll($data);
3.获取最后一次插入的id
    $data=[
        &#39;name&#39;=>&#39;张三1&#39;,
        &#39;pass&#39;=>&#39;123&#39;,
        &#39;age&#39;=>18
    ];
    $code=Db::table("user")->insertGetId($data); 
    $code=db("user")->insertGetId($data);
Copier après la connexion
Copier après la connexion

1.mysql transaction

Le moteur qui nécessite les données doivent être InnoDB
1.修改数据
    $code=Db::table("user")->where("id",">",5)->update(["age"=>111,"pass"=>&#39;111&#39;]);
    $code=Db::table("user")->update(["id"=>5,"age"=>60]);
    code=Db::table("user")->where("id",5)->setField("age",111);
2.设置自增
    $code=Db::table("user")->where("id",6)->setInc("age");
3.设置自减
    $code=Db::table("user")->where("id",7)->setDec("age");
    $code=Db::table("user")->where("id",5)->setDec("age",3);
Copier après la connexion
Copier après la connexion

Points clés : Exécuter l'instruction sur la table de données à exploiter : ALTER TABLE user ENGINE=INNODB;

1.删除一条数据
    $code=Db::table("user")->where("id",6)->delete();
    $code=Db::table("user")->delete(7);
2.删除多条数据
    $code=Db::table("user")->where("id in(1,2)")->delete();
    $code=Db::table("user")->delete([2,3]);
3.删除区间数据
    $code=Db::table("user")->where("id>0 and id<5")->delete();
Copier après la connexion
Copier après la connexion
Utiliser

1. Contrôler automatiquement les transactions

2. Contrôler manuellement les transactions

<🎜. >1. Types de bases de données pris en charge

Mysql, SqlServer, pgSQL, SQLite et autres bases de données

2. 🎜>
Db::transaction(function(){    // 删除一条数据    Db::table("user")->delete(11);    Db::table("user")->deletes(40);});
Copier après la connexion
Copier après la connexion

1. Définition du fichier de configuration

// 手动控制事务
    // 开启事务
    Db::startTrans();    try{        // 删除数据
        $a=Db::table("user")->delete(11);        // 判断是否删除成功
        if(!$a){            throw new  \Exception("删除11没有成功");
        }        // 删除不存在的数据
        $b=Db::table("user")->delete(12);        if(!$b){            throw new  \Exception("删除12没有成功");
        }        // 执行提交操作
        Db::commit();`这里写代码片`        echo "成功";
    }catch(\Exception $e){        // 回滚事务
        echo "失败";
        Db::rollback();
        dump($e->getmessage());
    }
Copier après la connexion
a. Répertoire du fichier de configuration
    // 开启事务
    Db::startTrans();    // 删除数据
    $a=Db::table("user")->delete(1);    $b=Db::table("user")->delete(2);    // 判断条件
    if($a && $b){        // 提交事务
        Db::commit();
    }else{
        Db::rollback();
    }
Copier après la connexion
Applicationdatabase.php

b. configurer

c. Comment utiliser

2. .Utilisez le tableau

2. Utilisez la chaîne
3. Comment utiliser

3.
return [    // 数据库类型
    &#39;type&#39;            => &#39;mysql&#39;,    // 服务器地址
    &#39;hostname&#39;        => &#39;127.0.0.1&#39;,    // 数据库名
    &#39;database&#39;        => &#39;&#39;,    // 用户名
    &#39;username&#39;        => &#39;root&#39;,    // 密码
    &#39;password&#39;        => &#39;&#39;,    // 端口
    &#39;hostport&#39;        => &#39;3306&#39;,
];
Copier après la connexion
Copier après la connexion

1. Créer un modèle de données

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();//使用sql语句$data=$DB::query("select * from user");
Copier après la connexion
Copier après la connexion
a. Création de ligne de commande

b. le répertoire du modèle de données (projet applicationindexmodel)

2. Dans le fichier répertoire Créez un nouveau fichier User.php

3 Écrivez le code dans le fichier
//Db类中的connect方法:数据库初始化 并取得数据库类实例        $DB=Db::connect([    // 数据库类型
    &#39;type&#39;            => &#39;mysql&#39;,    // 服务器地址
    &#39;hostname&#39;        => &#39;127.0.0.1&#39;,    // 数据库名
    &#39;database&#39;        => &#39;edu&#39;,    // 用户名
    &#39;username&#39;        => &#39;root&#39;,    // 密码
    &#39;password&#39;        => &#39;&#39;,    // 端口
    &#39;hostport&#39;        => &#39;3306&#39;,
]);
Copier après la connexion
Copier après la connexion

//Db类中的connect方法:数据库初始化 并取得数据库类实例$DB=Db::connect("mysql://root:@127.0.0.1:3306/edu#utf8");
Copier après la connexion
Copier après la connexion

2. . Comment configurer

$data=$DB->table(&#39;user&#39;)->select();
Copier après la connexion
Copier après la connexion

3. Comment le configurer dans le contrôleur Utiliser

3. Interroger les données

  • Méthode 1.tp


  • 2. Utiliser les instructions SQL

    <?php
        // 声明命名空间(位置)
        namespace app\index\model;    // 声明控制器
        use think\Model;    class User extends Model
        {
        }?>
    Copier après la connexion
    Copier après la connexion
  • 4. Utilisation de base de la base de données

<?php
    // 声明命名空间(位置)
    namespace app\index\model;    // 声明控制器
    use think\Model;    class User extends Model
    {
        // 使用数组连接数据库
        protected $connection=[            // 数据库类型
            &#39;type&#39;            => &#39;mysql&#39;,            // 服务器地址
            &#39;hostname&#39;        => &#39;127.0.0.1&#39;,            // 数据库名
            &#39;database&#39;        => &#39;edu&#39;,            // 用户名
            &#39;username&#39;        => &#39;root&#39;,            // 密码
            &#39;password&#39;        => &#39;&#39;,            // 端口
            &#39;hostport&#39;        => &#39;3306&#39;,
        ];        //使用字符串
        protected $connection="mysql://root:@127.0.0.1:3306/edu#utf8";
    }?>
Copier après la connexion
Copier après la connexion
Supporter la requête (opération de requête) et exécuter (opération d'écriture)

0.获取指定sql语句

// 获取执行的sql语句echo Db::getLastSql();
Copier après la connexion
Copier après la connexion

1.查询

$data=Db::query("select * from user");
$data=Db::query("select * from user where id >=? and id<=?",[5,8]);
Copier après la connexion
Copier après la connexion

2.增加

$data=Db::execute("insert into user value(null,&#39;user1&#39;,&#39;123&#39;,&#39;18&#39;)");
$data=Db::execute("insert into user value(null,?,?,?)",[&#39;user2&#39;,&#39;123&#39;,&#39;20&#39;]");
$data=Db::execute("insert into user value(null,:name,:pass,:age)",[&#39;name&#39;=>&#39;user3&#39;,&#39;pass&#39;=>&#39;123&#39;,&#39;age&#39;=>&#39;20&#39;]);
Copier après la connexion
Copier après la connexion

3.删除

$data=Db::execute("delete from user where id=10");
$data=Db::execute("delete from user where id>?",[15]);
$data=Db::execute("delete from user where id>:id",[&#39;id&#39;=>10]);
Copier après la connexion
Copier après la connexion

4.修改

$data=Db::execute("update user set age=&#39;20&#39; where id=?",[15]);
Copier après la connexion
Copier après la connexion

五、TP数据处理

1.查询操作

1.table方法查询数据
    // 查询所有数据
    $data=Db::table("user")->select();
    // 查询一条数据
    $data=Db::table("user")->find();
2.name方法查询数据
    //name方法会自动添加上配置文件中的表前缀,与配置文件有关
    $data=Db::name("user")->select();
    $data=Db::name("user")->find();
3.助手函数
    $data=db("user")->select();
    $data=db("user")->find();
4.where条件匹配
    $data=Db::table("user")->where("id",">",5)->select();
    $data=Db::table("user")->where("id","<",11)->where("id",">",8)->select();
    $data=Db::table("user")->where("name","like","%tian%")->select();
    $data=Db::table("user")->where("name","wanlisha")->where("pass","wanlisha")->select();
5.whereor条件查询
    $data=Db::table("user")->where("id","<=",&#39;21&#39;)->whereOr("id","<=",5)->select();
    $data=Db::table("user")->where("name",&#39;like&#39;,"%tian%")->whereOr("name",&#39;like&#39;,&#39;%wanli%&#39;)->select();
    $data=Db::table("user")->where("name|pass",&#39;like&#39;,"%tian%")->select();//
6.limit截取数据
    $data=Db::table("user")->limit(2)->select();
    $data=Db::table("user")->limit(0,2)->select();
7.order实现排序
    $data=Db::table("user")->order(&#39;id&#39;)->select();
    $data=Db::table("user")->order("id","desc")->select();
8.field 设置查询字段
    //设置查询字段
        $data=Db::table("user")->field(&#39;name,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;,&#39;pass&#39;])->select();
    // 给name起别名
        $data=Db::table("user")->field(&#39;name uname,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;=> &#39;uname&#39;,&#39;pass&#39;])->select();
    // sql的系统函数
        $data=Db::table("user")->field("count(*) as tot")->select();
        $data=Db::table("user")->field(["count(*)"=>"tot"])->select();
    //排除字段
        $data=Db::table("user")->field("name,pass",true)->select();
        $data=Db::table("user")->field(["name","pass"],true)->select();
9.Page实现分页效果
    $data=Db::table("user")->page(3,5)->select();
    $data=Db::table("user")->page("3,5")->select();
10.分组聚合
    $data=Db::table("user")->field("pass,count(*) tot")->group("pass")->select();
11.having过滤
    // 只能结合分组使用
        $data=Db::table("user")->field("pass,count(*) tot")->having("tot >=4")->group("pass")->select();
12.多表查询
    // 内敛实现数据库连接
        $data=Db::query("select product.*,fenlei.name tname from fenlei,product where product.cid=fenlei.id");
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id")->select();
        // 右链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;right&#39;)->select();
        // 左链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;left&#39;)->select();
13.别名使用-给表起别名
    $data=Db::table("product")->alias(&#39;p&#39;)->field("p.*,f.name fname")->join("fenlei f","p.cid=f.id",&#39;left&#39;)->select();
14.union集合
    $data=Db::field("name")->table("user")->union("select name from product")->select();
15.参数绑定bind为了防止sql注入
    //自动轻微防止sql注入
    $data=Db::table("user")->where("id",$id)->delete(); 
    //不防注入 建议不要使用原生的sql语句
    $data=Db::execute("delete from user where id=$id");
    //防注入
    $data=Db::table("user")->where("id",":id")->bind([&#39;id&#39;=>[$id,\PDO::PARAM_INT]])->delete();
16.统计数据
        $data=Db::table("user")->max("age");
        $data=Db::table("user")->min("age");
        $data=Db::table("user")->avg("age");
        $data=Db::table("user")->sum("age");
        $data=Db::table("user")->count();
17.视图查询(多表查询)
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid")->select();
        // 左连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","right")->select();
        // 右连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","left")->select();
Copier après la connexion
Copier après la connexion

2.插入操作

1.插入单条数据
    // 数组中的字段名必须和数据库中字段名一致
        $data=[
            &#39;name&#39;=>&#39;张三&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ];
        // 返回值:影响行数
        $code=Db::table("user")->insert($data);
        $code=db("user")->insert($data);
2.插入多条数据
    $data=[
        [
            &#39;name&#39;=>&#39;张三1&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ],
        [
            &#39;name&#39;=>&#39;张三2&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ]
    ];
    //返回值:影响行数 
    $code=Db::table("user")->insertAll($data);
    $code=db("user")->insertAll($data);
3.获取最后一次插入的id
    $data=[
        &#39;name&#39;=>&#39;张三1&#39;,
        &#39;pass&#39;=>&#39;123&#39;,
        &#39;age&#39;=>18
    ];
    $code=Db::table("user")->insertGetId($data); 
    $code=db("user")->insertGetId($data);
Copier après la connexion
Copier après la connexion

3.更新数据

1.修改数据
    $code=Db::table("user")->where("id",">",5)->update(["age"=>111,"pass"=>&#39;111&#39;]);
    $code=Db::table("user")->update(["id"=>5,"age"=>60]);
    code=Db::table("user")->where("id",5)->setField("age",111);
2.设置自增
    $code=Db::table("user")->where("id",6)->setInc("age");
3.设置自减
    $code=Db::table("user")->where("id",7)->setDec("age");
    $code=Db::table("user")->where("id",5)->setDec("age",3);
Copier après la connexion
Copier après la connexion

4.删除数据

1.删除一条数据
    $code=Db::table("user")->where("id",6)->delete();
    $code=Db::table("user")->delete(7);
2.删除多条数据
    $code=Db::table("user")->where("id in(1,2)")->delete();
    $code=Db::table("user")->delete([2,3]);
3.删除区间数据
    $code=Db::table("user")->where("id>0 and id<5")->delete();
Copier après la connexion
Copier après la connexion

六、事务机制

1.mysql事务

要求数据的引擎必须是InnoDB
重点:对要操作的数据表执行语句:ALTER TABLE user ENGINE=INNODB;

2.使用

1. 自动控制事务

Db::transaction(function(){    // 删除一条数据    Db::table("user")->delete(11);    Db::table("user")->deletes(40);});
Copier après la connexion
Copier après la connexion

2. 手动控制事务

// 手动控制事务
    // 开启事务
    Db::startTrans();    try{        // 删除数据
        $a=Db::table("user")->delete(11);        // 判断是否删除成功
        if(!$a){            throw new  \Exception("删除11没有成功");
        }        // 删除不存在的数据
        $b=Db::table("user")->delete(12);        if(!$b){            throw new  \Exception("删除12没有成功");
        }        // 执行提交操作
        Db::commit();`这里写代码片`        echo "成功";
    }catch(\Exception $e){        // 回滚事务
        echo "失败";
        Db::rollback();
        dump($e->getmessage());
    }    // 开启事务
    Db::startTrans();    // 删除数据
    $a=Db::table("user")->delete(1);    $b=Db::table("user")->delete(2);    // 判断条件
    if($a && $b){        // 提交事务
        Db::commit();
    }else{
        Db::rollback();
    }
Copier après la connexion

本文讲解了关于thinkphp5.0数据库操作的案例,更多相关内容请关注php中文网。

相关推荐:

列举ThinkPHP5与ThinkPHP3的一些异同点

创建一个最简单的ThinkPhp项目工程

关于ThinkPHP的增、删、改、查 的一些总结

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal