2015-06-29 12:55:20 6608次浏览 1条回答 0 悬赏 1 金钱

在登录中,验证通过更新用户表的ip和时间
数据库中 time 是时间戳 为 Int
我查询的代码

$username = $loginForm->attributes['username'];
$user = User::model()->find('username=:name',array(':name'=>$username)); 
//$user->time=time();
//$user->ip=Yii::app()->request->userHostAddress;
var_dump($user);die;
$user->save();

网页打印的代码

array (size=6)
      'id' => string '1' (length=1)
      'username' => string 'admin' (length=5)
      'password' => string '21232f297a57a5a743894a0e4a801fc3' (length=32)
      'ip' => string '127.0.0.1' (length=9)
      'time' => string '1435394244' (length=10)
      'class' => string '1' (length=1)

我组装数组的代码

Yii::app()->session['logintime'] = time();
$username = $loginForm->attributes['username'];
$user = User::model()->find('username=:name',array(':name'=>$username)); 
$user->time=time();
$user->ip=Yii::app()->request->userHostAddress;
var_dump($user);die;
$user->save();

网页显示的

    array (size=6)
      'id' => string '1' (length=1)
      'username' => string 'admin' (length=5)
      'password' => string '21232f297a57a5a743894a0e4a801fc3' (length=32)
      'ip' => string '127.0.0.1' (length=9)
      'time' => int 1435553625
      'class' => string '1' (length=1)

数据库结构中时间为int型。
最后更新提交的时候提示

CDbException
Column name must be either a string or an array.
C:\wamp\www\cms\framework\db\schema\CDbCommandBuilder.php(831)

最佳答案

  • naivefang 发布于 2015-06-30 12:39 举报

    model User的代码贴一下

    1 条回复
    回复于 2015-06-30 15:53 回复

    数据库创建的时候给予id为主键,后来检查的时候发现主键没了。可能是大意了,添加主键后问题就好了。谢谢

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
我是兴高采烈
经理

我是兴高采烈 湖北武汉

注册时间:2015-06-26
最后登录:2015-10-08
在线时长:11小时57分
  • 粉丝5
  • 金钱1049
  • 威望0
  • 积分1159

热门问题