Home > PHP Framework > ThinkPHP > body text

An article discusses how to use thinkphp5 db class

PHPz
Release: 2023-04-07 17:19:02
Original
1024 people have browsed it

The db class of ThinkPHP5 is a database operation class that encapsulates PDO. It is very convenient to use. This article will introduce how to use the db class.

1. Connect to the database

There are two ways to connect to the database, one is to configure it in config.php, and the other is to pass in the connection parameters when instantiating the Db class.

Configure in config.php:

return [
    // 数据库类型
    'type'      => 'mysql',
    // 服务器地址
    'hostname'  => '127.0.0.1',
    // 数据库名
    'database'  => 'test',
    // 数据库用户名
    'username'  => 'root',
    // 数据库密码
    'password'  => '',
    // 数据库连接端口
    'hostport'  => '',
];
Copy after login

Pass in the connection parameters when instantiating the Db class:

use think\Db;

$config = [
    // 数据库类型
    'type'      => 'mysql',
    // 服务器地址
    'hostname'  => '127.0.0.1',
    // 数据库名
    'database'  => 'test',
    // 数据库用户名
    'username'  => 'root',
    // 数据库密码
    'password'  => '',
    // 数据库连接端口
    'hostport'  => '',
];

Db::connect($config);
Copy after login

2. Basic operations

1. Query Operation

use think\Db;

//查询一条数据
Db::table('user')->where('id', 1)->find();

//查询多条数据
Db::table('user')->where('age', '>', 18)->select();
Copy after login

2. Insert operation

use think\Db;

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

Db::table('user')->insert($data);
Copy after login

3. Update operation

use think\Db;

Db::table('user')->where('id', 1)->update(['age' => 21]);
Copy after login

4. Delete operation

use think\Db;

Db::table('user')->where('id', 1)->delete();
Copy after login

3. Advanced operation

1.Chain operation

Chain operation can simplify the writing of sql statements.

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();
Copy after login

2. Debugging methods

In the development environment, we often need to check the execution of sql statements. The Db class provides three debugging methods: getLastSql, getExplain and getSqlLog.

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());
Copy after login

The getLastSql method can obtain the last executed sql statement.

The getExplain method can obtain the execution plan of the sql statement.

The getSqlLog method can obtain all executed sql statements and execution time.

4. Summary

The above is how to use the db class of ThinkPHP5. The db class provides a very convenient way to operate the database, and you can choose to use it according to your needs during development. If you encounter problems when using the db class, you can refer to the official documentation or ask questions in the relevant forums.

The above is the detailed content of An article discusses how to use thinkphp5 db class. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template