ginkgo


基本使用

配置了数据库连接信息后,就可以直接使用数据库运行原生 SQL 了,支持 query(查询)和 exec(写入)方法,并且支持参数绑定。

Db::query('select * from user where id=8');
Db::exec('insert into user (id, name) values (8, \'baigo\')');

参数绑定

支持参数绑定、占位符绑定,可以使用 bind 方法绑定参数,例如:

// 参数绑定
Db::prepare('insert into user (name) values (?)');
Db::bind(1, 'baigo');
Db::execute();

// 占位符绑定
Db::prepare('insert into user (name) values (:name)');
Db::bind('name', 'baigo');
Db::execute();

批量绑定

支持批量绑定参数,例如:

// 参数绑定
Db::prepare('insert into user (id, name) values (?, ?)');

$bind = array(
    array(1, 8),
    array(2, 'baigo'),
);

Db::bind($bind);
Db::execute();

// 占位符绑定
Db::prepare('insert into user (id, name) values (:id, :name)');

$bind = array(
    array('id', 8),
    array('name', 'baigo'),
);

Db::bind($bind);
Db::execute();

多个数据库连接

可以使用多个数据库连接,例如:

Db::connect($config)->query('select * from user where id=8');

$config 是一个单独的数据库配置,必须为数组,具体请查看 连接数据库

除了使用原生 SQL 以外,大多数情况下系统会忽略带有 `( 以及 . 符号的参数,不对这些参数进行处理,比如给表名自动添加前缀等。