如何在yii2直接执行SQL

时间:2020-05-23 15:02:37   收藏:0   阅读:84

执行SQL

        $connection=Yii::app()->db;   // 假设你已经建立了一个 "db" 连接

        $sql = "SELECT * FROM tbl_log WHERE logid<:logid";

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

$v=10000;

//绑定参数防止SQL注入攻击

$command->bindParam(":logid",$v,PDO::PARAM_STR);

/**

                //execute(): 执行一个无查询 (non-query)SQL语句, 例如 INSERT, UPDATE 和 DELETE 。如果成功,它将返回此执行所影响的行数。

$rowCount=$command->execute();   // 执行无查询 SQL

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

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

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

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

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

*/

        $result = $command->queryAll();

return $result;

 

使用事务

$transaction=$connection->beginTransaction();
try {
  $connection->createCommand($sql1)->execute();
  $connection->createCommand($sql2)->execute(); //.... other SQL executions $transaction->commit();
} catch(\Exception $e){// 如果有一条查询失败,则会抛出异常
  $transaction->rollBack();
}

 

原文:https://www.cnblogs.com/tochw/p/12942208.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!