Yii PDO方式執行SQL語句

Yii – 直接執行SQL語句
2013年08月05日 PHP 暫無評論 ⁄ 被圍觀 21,648+

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

try{

$connection->createCommand($sql1)->execute();

$connection->createCommand($sql2)->execute();

.........

$transaction->commit();

}

catch(Exception $e){     // 如果有一條查詢失敗,則會拋出異常

$transaction->rollBack();

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章