La classe db de ThinkPHP5 est une classe d'opérations de base de données qui encapsule PDO. Elle est très pratique à utiliser. Cet article explique comment utiliser la classe db.
1. Se connecter à la base de données
Il existe deux façons de se connecter à la base de données, l'une consiste à la configurer dans config.php, l'autre consiste à transmettre les paramètres de connexion lors de l'instanciation de la classe Db.
Configurer dans config.php :
return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', ];
Transmettre les paramètres de connexion lors de l'instanciation de la classe Db :
use think\Db; $config = [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', ]; Db::connect($config);
2. Opérations de base
1. Opération de requête
use think\Db; //查询一条数据 Db::table('user')->where('id', 1)->find(); //查询多条数据 Db::table('user')->where('age', '>', 18)->select();
2. Opération d'insertion
use think\Db; $data = [ 'username' => 'admin', 'password' => md5('admin'), 'sex' => 1, 'age' => 20, ]; Db::table('user')->insert($data);
3.
use think\Db; Db::table('user')->where('id', 1)->update(['age' => 21]);4. Opération de suppression
use think\Db; Db::table('user')->where('id', 1)->delete();3. Opérations avancées1. L'opération en chaîneL'opération en chaîne peut simplifier l'écriture d'instructions SQL.
use think\Db; Db::table('user') ->alias('u') ->join('role r', 'u.role_id=r.id') ->where('u.id', 1) ->field('u.username, r.name') ->find();2. Méthodes de débogageDans l'environnement de développement, nous avons souvent besoin de vérifier l'exécution des instructions SQL. La classe Db fournit trois méthodes de débogage : getLastSql, getExplain et getSqlLog. La méthode
use think\Db; Db::table('user')->getLastSql(); Db::table('user')->where('age', '>', 18)->getExplain(); Db::table('user')->where('age', '>', 18)->select(); Db::table('user')->getLastSql(); print_r(Db::getSqlLog());getLastSql peut obtenir la dernière instruction SQL exécutée. La méthode getExplain peut obtenir le plan d'exécution de l'instruction SQL. La méthode getSqlLog peut obtenir toutes les instructions SQL exécutées et le temps d'exécution. IV.RésuméCe qui précède explique comment utiliser la classe db de ThinkPHP5. La classe db fournit un moyen très pratique d'exploiter la base de données, et vous pouvez choisir de l'utiliser en fonction de vos besoins pendant le développement. Si vous rencontrez des problèmes lors de l'utilisation de la classe db, vous pouvez vous référer à la documentation officielle ou poser des questions dans les forums concernés.
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!