php - 在 yii 中如何编写插入查询

标签 php yii insert

在 yii 中,我正在创建登录模块。成功登录后,我必须检索当前登录用户的用户 ID,并希望将该用户 ID 插入另一个“logintransLog”表中,该表将用户 ID 作为具有外键关系的属性。那么在 yii 中,如何检索当前的用户 ID 并将其插入到另一个表中呢?请帮我.....

如果只有用户 ID 正确且密码错误,我想将用户 ID 插入表“loginAttempt”,以维护用户尝试登录的时间记录。那么我该如何实现呢?我有 actionlogin 方法:

public function actionLogin()
{
    $model=new LoginForm;
    $command = Yii::app()->db->createCommand();

    // if it is ajax validation request
    if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }

    // collect user input data
    if(isset($_POST['LoginForm']))
    {
        $model->attributes=$_POST['LoginForm'];
        // validate user input and redirect to the previous page if valid
        if($model->validate() && $model->login())
        {
                $command->insert('trans', array(
                    'id'=>Yii::app()->user->getId(),
                //'Ipaddress'=>Yii::app()->user->getIpaddress(),
                ));
            $this->redirect(Yii::app()->user->returnUrl);
        }

    }
    // display the login form
    $this->render('login',array('model'=>$model));
}      

请帮我

最佳答案

1、简单正确:制作模型logintransLog表和用途:

$log = new logintransLog();
$log->user_id = $user->id;
$log->created = date('Y-m-d H:i:s');
$log->save();

第二,快速 - 使用 createCommand :
$sql = "insert into logintransLog (user_id, created) values (:user_id, :created)";
$parameters = array(":user_id"=>$user->id, ':created' => date('Y-m-d H:i:s'));
Yii::app()->db->createCommand($sql)->execute($parameters);
// try this, if any validation failed it was count as login attempt
if ($model->validate() && $model->login()) {
        $command->insert('trans', array(
           'id'=>Yii::app()->user->getId(),
         //'Ipaddress'=>Yii::app()->user->getIpaddress(),
        ));
        $this->redirect(Yii::app()->user->returnUrl);
} else {
        $command->insert('loginAttempt', array(
           'username'=>$model->username,
           'Ipaddress'=>$_SERVER['REMOTE_ADDR'],
        ));
}

关于php - 在 yii 中如何编写插入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471428/

相关文章:

php - 将 mysql(PDO) 结果输出到 HTML 表的更好方法是什么

php - 不能使用 AFNetworking 上传超过 10 个文件

php - Yii CActiveRecord 类有 first() 方法吗?

postgresql - 为什么此规则不能防止重复键违规?

ios - SQLite iOS 插入数据

php - 在 PHP 中创建 View - 最佳实践

exception - Yii完整性约束异常处理和用户友好消息

php - 获取图像包含不再下载

java - 将 JDateChoose 插入 MySQL

php - 我什么时候可以开始使用框架 (Laravel)?