Yii PDO方式执行SQL语句

来源:互联网 发布:编程要学哪些东西 编辑:程序博客网 时间:2024/05/22 06:45
Yii – 直接执行SQL语句
2013年08月05日 ⁄PHP ⁄ 暂无评论 ⁄ 被围观 21,648+

$connection = Yii::app()->db; //连接

//查找

$sql = "SELECT * FROM `tbl_user` ORDER BY id DESC";

$command = $connection->createCommand($sql);

$result = $command->queryAll();

print_r($result);

//添加

$sql = " INSERT INTO `tbl_user` (`username`, `password`, `email`) VALUES ('test', 'test', 'test@test.com') ";

$command=$connection->createCommand($sql);

print_r($command->execute());

 

//添加 返回自增id

$command1 = $connection->createCommand("SELECT last_insert_id()");

$result = $command1->queryAll();

 

//常用函数

(1)如果你执行的SQL语句有返回结果集: 例如SELECT。通常用query开头的系列函数:

$dataReader=$command->query(); // 执行一个 SQL 查询

$rows=$command->queryAll(); // 查询并返回结果中的所有行

$row=$command->queryRow(); // 查询并返回结果中的第一行

$column=$command->queryColumn(); // 查询并返回结果中的第一列

$value=$command->queryScalar(); // 查询并返回结果中第一行的第一个字

(2)你执行的SQL语句返回的不是结果集,只是状态值,例如:INSERT ,UPDATE,DELETE.则用execute()

$this->command->execute();

 

//使用事务的一种常见情形:CDbTransaction

$transaction = $connection->beginTransaction();

try{

$connection->createCommand($sql1)->execute();

$connection->createCommand($sql2)->execute();

.........

$transaction->commit();

}

catch(Exception $e){     // 如果有一条查询失败,则会抛出异常

$transaction->rollBack();

}

0 0
原创粉丝点击