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 중국어 웹사이트의 기타 관련 기사를 참조하세요!