讓你的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密碼即可進入,如下圖:

 

yii, 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的工程配置就好了。好玩吧。

開始進入歡樂之旅了,恭喜!

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