- 安装Yii
- Dao数据库访问
- QueryBuilder器
- 活动记录
- 数据库迁移
1.安装YII
##进入默认下载好basic 目录##
cd basic/
##启动yii服务##
php Yii serve
##test Yii 服务##
http://127.0.0.1:8080/index.php
2.Dao数据访问
Yii Dao 支持大部分主流的数据库;Yii 安装成功之后默认在config\db.config 生产数据库配置文件
##连接单个数据库##
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii2basic',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
];
##连接多个数据库##
'components' => [
// ...
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=example',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
],
]
获得的数据库连接: db=\Yii:: app->db;
##查询所有数据##
$posts = Yii::$app->db->createCommand('SELECT * FROM post')
->queryAll();
##查询一行数据##
$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=1')
->queryOne();
##查询单列数据##
$titles = Yii::$app->db->createCommand('SELECT title FROM post')
->queryColumn();
##查询总数 没有的话返回false##
$count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM post')
->queryScalar();
##使用占位符查询, 防sql注入##
$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status=:status')
->bindValue(':id', $_GET['id'])
->bindValue(':status', 1)
->queryOne();
Yii 打开事务
$db = Yii::$app->db;
##打开事务##
$transaction = $db->beginTransaction();
try {
$db->createCommand($sql1)->execute();
$db->createCommand($sql2)->execute();
// ... executing other SQL statements ...
##提交事务##
$transaction->commit();
} catch(\Exception $e) {
##回滚事务##
$transaction->rollBack();
##返回自定义异常##
throw $e;
}
待续…