最新消息: 生命不止,奋斗不息……

Yii直接执行原生态Sql

PHP admin 1245浏览 0评论

1-11032Q40943464

$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();

}

转载请注明:IT世界 » Yii直接执行原生态Sql

您必须 登录 才能发表评论!