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

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

PHPz
Libérer: 2023-04-07 17:19:02
original
1038 Les gens l'ont consulté

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'  => '',
];
Copier après la connexion

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);
Copier après la connexion

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();
Copier après la connexion

2. Opération d'insertion

use think\Db;

$data = [
    'username' => 'admin',
    'password' => md5('admin'),
    'sex'      => 1,
    'age'      => 20,
];

Db::table('user')->insert($data);
Copier après la connexion

3.

use think\Db;

Db::table('user')->where('id', 1)->update(['age' => 21]);
Copier après la connexion
4. Opération de suppression

use think\Db;

Db::table('user')->where('id', 1)->delete();
Copier après la connexion
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();
Copier après la connexion
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());
Copier après la connexion
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!

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