>PHP 프레임워크 >ThinkPHP >thinkphp5 db 클래스를 사용하는 방법

thinkphp5 db 클래스를 사용하는 방법

WBOY
WBOY앞으로
2023-05-31 14:58:061168검색

1. 데이터베이스에 연결

데이터베이스에 연결하는 방법에는 두 가지가 있습니다. 하나는 config.php에서 구성하는 것이고, 다른 하나는 Db 클래스를 인스턴스화할 때 연결 매개변수를 전달하는 것입니다.

config.php에서 구성:

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

Db 클래스를 인스턴스화할 때 연결 매개변수 전달:

use think\Db;

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

Db::connect($config);

2. 기본 작업

1 쿼리 작업

use think\Db;

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

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

2. 업데이트 Operation

use think\Db;

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

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

4. 삭제 연산

use think\Db;

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

3. 고급 연산

1. 연쇄 연산

연쇄 연산을 통해 SQL 문 작성을 단순화할 수 있습니다.

use think\Db;

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

2. 디버깅 방법

개발 환경에서는 SQL 문의 실행을 확인해야 하는 경우가 많습니다. Db 클래스는 getLastSql, getExplain 및 getSqlLog의 세 가지 디버깅 방법을 제공합니다.

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();

getLastSql 메소드는 마지막으로 실행된 SQL 문을 가져올 수 있습니다.

getExplain 메소드는 SQL 문의 실행 계획을 얻을 수 있습니다.

getSqlLog 메소드는 실행된 모든 SQL 문과 실행 시간을 얻을 수 있습니다.

위 내용은 thinkphp5 db 클래스를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제