Rumah  >  Artikel  >  rangka kerja php  >  Satu artikel membincangkan cara menggunakan kelas thinkphp5 db

Satu artikel membincangkan cara menggunakan kelas thinkphp5 db

PHPz
PHPzasal
2023-04-07 17:03:56995semak imbas

Kelas db ThinkPHP5 ialah kelas operasi pangkalan data yang merangkumi PDO. Artikel ini akan memperkenalkan cara menggunakan kelas db.

1 Sambung ke pangkalan data

Terdapat dua cara untuk menyambung ke pangkalan data, satu adalah untuk mengkonfigurasinya dalam config.php, satu lagi adalah untuk menghantar parameter sambungan apabila membuat instantiat Kelas db.

Konfigurasikan dalam config.php:

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

Lepaskan dalam parameter sambungan apabila membuat instantiat kelas Db:

use think\Db;

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

Db::connect($config);

2 >1. Operasi pertanyaan

2 Operasi masukkan
use think\Db;

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

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

3. Operasi kemas kini
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. Operasi lanjutan

1. Operasi rantaian
use think\Db;

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

Operasi rantaian boleh memudahkan penulisan pernyataan sql.

2. Kaedah nyahpepijat

Dalam persekitaran pembangunan, kita selalunya perlu menyemak pelaksanaan pernyataan sql Kelas Db menyediakan tiga kaedah penyahpepijatan: getLastSql, getExplain dan 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();

kaedah getLastSql boleh mendapatkan pernyataan sql yang terakhir dilaksanakan.

Kaedah getExplain boleh mendapatkan pelan pelaksanaan pernyataan sql.
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());

Kaedah getSqlLog boleh mendapatkan semua penyataan sql yang dilaksanakan dan masa pelaksanaan.

4. Ringkasan

Di atas ialah cara menggunakan kelas db ThinkPHP5 Kelas db menyediakan cara yang sangat mudah untuk mengendalikan pangkalan data, dan anda boleh memilih untuk menggunakannya mengikut anda keperluan semasa pembangunan. Jika anda menghadapi masalah semasa menggunakan kelas db, anda boleh merujuk kepada dokumentasi rasmi atau bertanya soalan dalam forum yang berkaitan.

Atas ialah kandungan terperinci Satu artikel membincangkan cara menggunakan kelas thinkphp5 db. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn