首页 > 代码库 > Yii如何使用数据库

Yii如何使用数据库

1.Yii如何使用数据库

Yii通过数据库访问对象(Database Access Objects,简称DAO)来使用数据库的。

DAO建立在“PHP数据对象(PDO)之上,并提供一套面向对象的API来访问数据库”

2.数据库的连接

数据库的连接通常放在配置文件中,/common/config/main-local.php中。

 ‘db‘ => [
            ‘class‘ => ‘yii\db\Connection‘,
            ‘dsn‘ => ‘mysql:host=localhost;dbname=yii2advanced‘,
            ‘username‘ => ‘root‘,
            ‘password‘ => ‘root‘,
            ‘charset‘ => ‘utf8‘,
        ],

这里表示会创建一个yii\db\Connection对象,并用这个对象访问数据库。

这个数据库连接对象的写法:Yii->$app->db

连接不同数据库的语句略微有些差异。

技术分享

3,数据库查询(yii\db\Command)

用SQL查询语句来创建一个yii\db\Command的对象,调用对象的方法来执行SQL查询,返回值是字符型的数组。

$post  = Yii::$app->db->createCommand(‘SELECT * FROM post‘)->queryAll();

SQL语句还可以绑定参数。

$post = Yii::$app->db->createCommand(‘SELECT * FROM post WHERE id=:id AND status=:status‘)

                                                                  ->bindValue(‘:id‘,$_GET[‘id‘])

                                                                  ->bindValue(‘:status‘,2)

                                                                  ->queryOne();

4,yii\db\Command的优缺点

1,简单,只需要处理sql语句和数组就行了(优点)

2,高效,通过sql语句来查询数据库非常高效。(优点)

----------------------------------------------------------

1,不同的数据库系统的sql语句会有些差别,因此无法做到代码适用于多种数据库系统。(缺点)

2,用数组,而没有用到面向对象的方式来管理数据,代码难维护。(缺点)

3,如果不小心,会留下SQL注入这种不安全因素。(缺点)

 

 

Yii如何使用数据库