基本使用

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

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

参数绑定

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

  1. // 参数绑定
  2. Db::prepare('insert into user (name) values (?)');
  3. Db::bind(1, 'baigo');
  4. Db::execute();
  5. // 占位符绑定
  6. Db::prepare('insert into user (name) values (:name)');
  7. Db::bind('name', 'baigo');
  8. Db::execute();

批量绑定

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

  1. // 参数绑定
  2. Db::prepare('insert into user (id, name) values (?, ?)');
  3. $bind = array(
  4. array(1, 8),
  5. array(2, 'baigo'),
  6. );
  7. Db::bind($bind);
  8. Db::execute();
  9. // 占位符绑定
  10. Db::prepare('insert into user (id, name) values (:id, :name)');
  11. $bind = array(
  12. array('id', 8),
  13. array('name', 'baigo'),
  14. );
  15. Db::bind($bind);
  16. Db::execute();

多个数据库连接

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

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

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

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