示例#1
0
文件: demo.php 项目: pfinal/database
<?php

include "./autoload.php";
$config = ['dsn' => 'mysql:host=localhost;dbname=test', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'tablePrefix' => 'db_'];
$db = new \PFinal\Database\Builder($config);
$db->getConnection()->enableQueryLog();
$id = $db->table('test')->insertGetId(['username' => 134, 'status' => '0']);
$count = $db->table('test')->lockForUpdate()->count('id');
var_dump($count);
var_dump($db->getConnection()->getQueryLog());
示例#2
0
 public function testDb()
 {
     $db = new \PFinal\Database\Builder();
     $db->setConnection(self::getConn());
     $db->getConnection()->enableQueryLog();
     $rowCount = $db->table('{{%test}}')->insert(['username' => 'aaa', 'status' => 10]);
     $this->assertTrue($rowCount == 1);
     $id = $db->table('{{db_test}}')->insertGetId(['username' => 'bbb', 'status' => 10]);
     $this->assertTrue($id == 5);
     $arr = $db->findAllBySql('SELECT * FROM {{%test}} WHERE status=? LIMIT 2', [10]);
     $this->assertTrue(count($arr) == 2);
     $arr = $db->table('test')->where('id=1 or id=2')->findAll();
     $this->assertTrue(count($arr) == 2);
     $this->assertTrue($arr[0]['id'] == 1 && $arr[1]['id'] == 2);
     $arr = $db->table('test')->where('id=?', [1])->where('id=:id', ['id' => 2], false)->findAll();
     $this->assertTrue(count($arr) == 2);
     $this->assertTrue($arr[0]['id'] == 1 && $arr[1]['id'] == 2);
     $row = $db->table('test')->findOne('id=?', [2]);
     $this->assertTrue($row['username'] === 'Ethan');
     $row = $db->table('test')->findOne(['id' => 2]);
     $this->assertTrue($row['username'] === 'Ethan');
     $rowCount = $db->table('test')->update(['username' => 'new'], 'id=?', [2]);
     $this->assertTrue($rowCount == 1);
     $row = $db->table('test')->findByPk(2);
     $this->assertTrue($row['username'] === 'new');
     $rowCount = $db->table('test')->update(['username' => 'new2'], ['id' => 2]);
     $this->assertTrue($rowCount == 1);
     $row = $db->table('test')->findByPk(2);
     $this->assertTrue($row['username'] === 'new2');
     $rowCount = $db->table('test')->where('id=?', [2])->update(['username' => 'new3']);
     $this->assertTrue($rowCount == 1);
     $row = $db->table('test')->where(['id' => 2])->findOne();
     $this->assertTrue($row['username'] === 'new3');
     $rowCount = $db->table('test')->where('id=?', [2])->increment('status');
     $this->assertTrue($rowCount == 1);
     $row = $db->table('test')->where(['id' => 2])->findOne();
     $this->assertTrue($row['status'] == 21);
     $rowCount = $db->table('test')->where('id=?', [3])->delete();
     $this->assertTrue($rowCount == 1);
     //count()、sum()、max()、min()、avg()
     $count = $db->table('test')->where('id>?', [3])->count();
     $this->assertTrue($count == 2);
     $arr = $db->table('test')->loadDefaultValues();
     $this->assertTrue($arr['status'] == 10);
     $arr = $db->table('test')->loadDefaultValues(new stdClass());
     $this->assertTrue($arr->status == 10);
     $arr = $db->table('test')->loadDefaultValues('stdClass');
     $this->assertTrue($arr->status == 10);
     var_dump($db->getConnection()->getQueryLog());
 }