让你的Yii程序连接mysql数据库

在完成了第一个yii的程序生成之后,还需要配置数据库。用yiic生成的yii项目,默认配置了sqlite的数据库。

1、配置项目的数据库连接

        按照手册说的,修改项目下的\protected\config\console.php 配置文件,把数据库从sqlite改到mysql。连接都是写好的,注释了原来的sqlite,配置上密码就可以了

 /*
  ‘db‘=>array(
   ‘connectionString‘ => ‘sqlite:‘.dirname(__FILE__).‘/../data/testdrive.db‘,
  ),
                 * 
                 */
  // uncomment the following to use a MySQL database
  
  ‘db‘=>array(
   ‘connectionString‘ => ‘mysql:host=localhost;dbname=testdrive‘,
   ‘emulatePrepare‘ => true,
   ‘username‘ => ‘root‘,
   ‘password‘ => ‘此处输入你的数据库密码‘,
   ‘charset‘ => ‘utf8‘,
  ),

2、建立数据库

在你的mysql数据库中,新建数据库 testdrive, 字符集我是选择utf8-bin的。

然后再打开工程下的文件\protected\dataschema.mysql.sql ,拷贝语句到phpmyadmin(或者你自己的mysql客户端),创建表并插入用户数据。执行后验证数据库如下图:

 

3、执行CRUD(增删查改)

可以用yiic的shell来生成代码,也可以用gii来实现。为了简单直观,我选择了用gii来做。以下先介绍以下gii的配置。

打开工程的配置文件%WebRoot/testdrive/protected/config/main.php,确保以下选项为开启的:

‘import‘=>array(
  ‘application.models.*‘,
  ‘application.components.*‘,
 ),

 ‘modules‘=>array(
  // uncomment the following to enable the Gii tool
  
  ‘gii‘=>array(
   ‘class‘=>‘system.gii.GiiModule‘,
   ‘password‘=>‘此处输入你的gii密码,访问的时候使用‘,
   // If removed, Gii defaults to localhost only. Edit carefully to taste.
   ‘ipFilters‘=>array(‘127.0.0.1‘,‘::1‘),
  ),

访问URL:http://127.0.0.1/testdriver/index.php?r=gii 会弹出登陆框,输入预设的gii密码即可进入,如下图:

 

 

生成用户模型

点击上图中的 Model Gengerator,输入如下图的内容以后,点击preview,这个预览还有纠错的功能。如下图:

 

然后点击generate,就生成了tbl_user的这个表对应的模型User文件:

Generating code using template "W:\xampp\htdocs\framework\gii\generators\model\templates\default"...
 generated models\User.php
done!

 

生成CRUD的代码

在gii的控制面板,点击Crud Generator,输入刚才生成的那个模型名称User:

 

 

 

 

 

 

 

点击生成之后,生成代码:

 

点击上面的 try it now, 进入刚才生成的页面,可以看到tbl_user的内容都呈现在网页上了。如果要对该表进行管理操作,则点击右边的“manager user”, 此时需要用admin,admin登录。应该该项目还没有做权限管理,yiic默认的项目管理员admin。这个在之后的rbac做好以后就需要在用户角色的来进行操作了。

至此,你就可以对tbl_user这个表进行CRUD的操作了,目前为止自己还没有写过一行代码。只是进行yii的工程配置就好了。好玩吧。

开始进入欢乐之旅了,恭喜!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。