如何在yii2直接執行SQL


執行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();
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM