您的位置:首页 > 编程语言 > PHP开发

yii2 执行原生态的sql语句

2015-09-06 12:24 639 查看
//搜索
$connection = Yii::$app->db;
$user_id = Yii::$app->user->id;
//print_r($user_id);
/*
* 报名的赛事
*/
$sql = "select ybm from bm_userybm where user_id=$user_id";

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

$result = $command->queryAll();
/*
* 获奖的赛事
*/
$sql_yhj = "select yhj from bm_useryhj where user_id=$user_id";

$command_yhj = $connection->createCommand($sql_yhj);

$result_yhj = $command_yhj->queryAll();
//print_r($result);
//echo "<br/>";
//添加

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql yii2 yii