yii2 執行原生態的sql語句

2021-07-05 02:51:18 字數 1625 閱讀 7736

//搜尋

$connection

= yii::

->db;

$user_id

= yii::

->

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 "

";//新增

$sql = 」 insert into `tbl_user` (`username`, `password`, `email`) values (『test』, 『test』, 『[email protected]』) 「;

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

trycatch(exception $e)

Hibernate使用原生態SQL語句

我前面也有寫過一篇hibernate使用原生態sql語句的方法。但那種方法是新增實體類。沒有表,但要反射實體類進行對映,也就是要寫實體類。有興趣的可以在我部落格裡找到那篇看看。這次我記錄的是不需要寫實體類,資料庫也不需要做檢視。方法如下。1.string sql 這裡面寫的是sql語句,在資料庫中能...

Hql的原生態sql和Basedao

basedao 需求 按名字分頁查詢對應書籍資訊 原生sql hql實現不了的功能,可以考慮使用原生sql 1 多表 5 聯查 2 未配置對映檔案中關係 檢視對映 場景select from 3表聯查 select rowno rowno 1 as rowno,a.from tablename a,...

YII2原生SQL分頁支援排序搜尋

yii2預設情況下會生成乙個直接操作單錶的模型並且具備搜尋和分頁以及排序功能,在很多複雜的業務邏輯需求中,單錶操作很難實現我們想要的效果,此時我要是選擇的話就用純sql來做,不用考慮那麼多的對應關係,而且你得sql語句執行效率越高,程式執行的效率也就越高。ok我們來看看怎麼實現。二 建表 yii a...