日期:2014-05-16  浏览次数:20509 次

yii ,sql, 增删改查
[color=#0000FF]1.$sql= "insert into tbl_user(`id`,`username`,`password`)values(null,'alu','123');
2.$sql= "select * from tbl_user where id=1;
3.$sql= "update tbl_user set password="123456" where id=6";
4.$sql= "delete from tbl_user where id=6;";
//设置字符编码
mysql_query("set names utf8");
$result=mysql_query($sql) or die('sql语句错误,系统给的提示是:'.mysql_error());

5.$num = mysql_num_rows($result)以及$num=mysql_fetch_array($result);
以上语句在yii框架里面应该怎样写?
[/color]
SQL Yii 数据的增删改查 框架

------解决方案--------------------
好象回过你一个贴子,再回一次吧:

utf8编码写到配置文件main.php中:
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=test',
'emulatePrepare' => true,
'username' => 'root',
'password' => '123',
'charset' => 'utf8',  //此处设定编码
'tablePrefix' => 'tbl_',
),
控制器中:
  $conn=Yii::app()->db;
  $command=$conn->createCommand();
直接写语句:
  $command->text='select * from {{user}} where id=1';
  $dataReader=$command->query();
读取数据:
  foreach($dataReader as $row)
     { echo $row['name']; }

  INSERT, UPDATE 和 DELETE 操作语句写法和上面类似,不过用execute:
  $rowCount=$command->execute();返回影响行数; 

------解决方案--------------------
其实简单的CRUD操作,用ActiveRecord不是更方便吗?
$model = User::model()->findByPk(1);

$model->password = 'new password';

$model->save();
------解决方案--------------------
用yii内置的方法
------解决方案--------------------
引用:
其实简单的CRUD操作,用ActiveRecord不是更方便吗?
$model = User::model()->findByPk(1);
$model->password = 'new password';
$model->save();


而且CRUD都可以自动生成,命令行用yiic shell或者用可视界面gii都很方便啊,先model,再crud