yii2 怎么执行原生态的insert
1个回答
展开全部
$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();
}
//查找
$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();
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询