Maison  >  Article  >  cadre php  >  Comment utiliser la classe de base de données thinkphp5

Comment utiliser la classe de base de données thinkphp5

WBOY
WBOYavant
2023-05-31 14:58:061140parcourir

1. Connectez-vous à 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. Opération

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. 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.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer