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注入这种不安全因素。(缺点)
时间: 2024-10-12 23:38:22