2012-11-09 82 views
0

嗨,我是新的yii框架。我想知道如何在yii框架上使用Get方法插入數據?因爲我創建了一個腳本,但該記錄沒有添加到我的數據庫中。如何使用get方法在yii框架上插入記錄?

這裏是我的URL

http://testdomain.com/?name=test&number=1234567&[email protected] 

這裏是我的腳本:

public function actionIndex() 
{ 
     $model=new Userinfo; 

     if(isset($_GET['name'])){ 

      $model->name=$_GET['name']; 
      $model->number=$_GET['number']; 
      $model->email=$_GET['email']; 

      if($model->save()){   
       echo "Success";     
      } 
     } 
} 

如(http://testdomain.com/?name=test&number=1234567&[email protected]

我想插入我的數據庫表 表名=用戶信息數據

字段:

名稱數量電子郵件

謝謝。您的幫助。

+0

我們可以看到你的模型嗎?顯示的錯誤是什麼(你可以嘗試顯示模型錯誤,如果($ model-> save()){...} else {var_dump($ model-> getErrors());} – darkheir

+1

不這樣做,從不允許修改數據庫GET請求 – Asgaroth

回答

1

這裏的基本思想是:

$model = new Userinfo; 
$model->name = $_GET['name']; 
$model->number = $_GET['number']; 
$model->email = $_GET['email']; 
if ($model->validate()){ 
    $model->save(); 
} else { 
    print_r($model->errors); 
} 

這是一個沒有驗證。你最有可能把它放進一個控制器/動作

+1

我已經嘗試過,但仍然不能插入數據。 – devrez

+0

模型是否驗證?請參閱編輯我的回答 –

+0

它是給你一個錯誤還是隻是不保存? –

0

嘗試

$model->insert(); 

您的代碼似乎工作的罰款,我檢查我的工作的應用程序,請檢查你的模型和數據庫。

0

我猜你永遠不會看到「成功」,這意味着save()方法返回false。請注意,save()在驗證失敗時不會引發異常,它只是返回false。

由於您沒有看到「成功」,這意味着您的模型中驗證失敗,因此請檢查模型規則。