让你的Yii程序连接mysql数据库
2014-01-24 10:48
399 查看
在完成了第一个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文件:
生成CRUD的代码
在gii的控制面板,点击Crud Generator,输入刚才生成的那个模型名称User:
点击生成之后,生成代码:
The controller has been generated successfully. You may try it now.
点击上面的 try it now, 进入刚才生成的页面,可以看到tbl_user的内容都呈现在网页上了。如果要对该表进行管理操作,则点击右边的“manager user”, 此时需要用admin,admin登录。应该该项目还没有做权限管理,yiic默认的项目管理员admin。这个在之后的rbac做好以后就需要在用户角色的来进行操作了。
至此,你就可以对tbl_user这个表进行CRUD的操作了,目前为止自己还没有写过一行代码。只是进行yii的工程配置就好了。好玩吧。
开始进入欢乐之旅了,恭喜!
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:
点击生成之后,生成代码:
The controller has been generated successfully. You may try it now.
Generating code using template "W:\xampp\htdocs\framework\gii\generators\crud\templates\default"... generated controllers\UserController.php generated views\user\_form.php generated views\user\_search.php generated views\user\_view.php generated views\user\admin.php generated views\user\create.php generated views\user\index.php generated views\user\update.php generated views\user\view.php done!
点击上面的 try it now, 进入刚才生成的页面,可以看到tbl_user的内容都呈现在网页上了。如果要对该表进行管理操作,则点击右边的“manager user”, 此时需要用admin,admin登录。应该该项目还没有做权限管理,yiic默认的项目管理员admin。这个在之后的rbac做好以后就需要在用户角色的来进行操作了。
至此,你就可以对tbl_user这个表进行CRUD的操作了,目前为止自己还没有写过一行代码。只是进行yii的工程配置就好了。好玩吧。
开始进入欢乐之旅了,恭喜!
相关文章推荐
- 让你的Yii程序连接mysql数据库
- 编译操作mysql数据库的C程序时的连接库错误
- 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题
- MFC小程序 简易网络聊天室 VS2012 ODBC连接MySql数据库和网络Socket通信
- 单独java 程序连接Mysql数据库。
- 使用.Net程序连接MySql数据库时,请注意你的License
- 单独java 程序连接Mysql数据库。
- 将连接MySQL数据库的java项目程序打包成为.jar格式
- Linux下编写C++程序连接mysql数据库编译时指定头、库
- 一个连接两个不同MYSQL数据库的PHP程序
- Android程序通过Apache服务器执行PHP程序连接Mysql数据库(重要!)
- java程序连接MySQL数据库
- Java程序连接MySQL数据库
- 单独java 程序连接Mysql数据库
- Java程序连接MySQL数据库
- 单独java 程序连接Mysql数据库
- 一个连接两个不同MYSQL数据库的PHP程序
- 转载 用C连接MySQL数据库程序的编译问题
- Winxp下建立第一个 Yii 框架应用(连接MYSQL数据库)
- 2013年3月22日记录为什么发布程序的时候,目标机连接不上主机的MySql数据库(已解决)