YII顯示sql進行調試,yiisql調試
進行插入測試:
一個簡單控制器:
function actionJia(){ $goods_model = new Goods(); //進行添加有別於查詢不能使用下面這種方式// $goods_model=Goods::model(); $goods_model->goods_name = 'apple phone'; $goods_model->goods_price = '5199'; $goods_model->goods_weight=102; var_dump($goods_model->save()); // var_dump($goods_model); if($goods_model->save()){ echo 'success'; }else{ echo "error"; } }將日誌資訊顯示在頁面底部:
設定主設定檔關於db選項:
如:
'db'=>array('connectionString' => 'mysql:host=localhost;dbname=php0507','emulatePrepare' => true,'username' => 'root','password' => '','charset' => 'utf8','tablePrefix'=>'sw_', // 'enableParamLogging'=>true, //不顯示sql語句綁定的參數資訊),
:原因是使用pdo一個預先處理,後面跟的是參數
添加後:
。
為什麼這樣設定?
main.php主設定檔載入db組件,db組件在這個路徑下面 \framework\db
(急)yii SQL查詢出的結果數群組轉換成AR模式
除了cactivedataprovider,你還可以使用CArrayDataProvider
我給你寫個例子:
controller中:
$rawdata = Yii::app()->db->createCommand('select * from {{post}} where id<100')->queryAll();
$data = new CArrayDataProvider($rawdata, array(
'id' => 'user',
'sort' => array(
'attributes' => array(
'id', 'title', 'content'
),
),
'pagination' => array(
'pageSize' => 10,
),
));
$this->render('gridview_array', array('dataProvider' => $data));
然後view中:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'somegrid',
'dataProvider'=>$dataProvider,
'columns'=>array(
'id',
'title',
'content',
),
));
這樣就ok 了~
YII架構怎直接通過sql更新?
是你的sql語句本身有就錯了,應該是這樣:
$sql = " UPDATE ".$val. " SET TicketStatus =:TicketStatus , PauseOperator =:PauseOperator WHERE TicketNo =:TicketNo";
sql關鍵字推薦寫成大寫。