Maison  >  Article  >  cadre php  >  Un article traite de l'utilisation de la classe db thinkphp5

Un article traite de l'utilisation de la classe db thinkphp5

PHPz
PHPzoriginal
2023-04-07 17:03:56995parcourir

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ées

1. L'opération en chaîne

L'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ébogage

Dans 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!

Déclaration:
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