dpict99695329 2017-02-16 07:36 采纳率: 100%
浏览 19

CodeIgniter:登录用户详细信息未正确插入

Please help me insert code is not working fine in facebook and google login user details

below is my model function

#facebook insert code ..

public function checkUser($data = array()){
    $this->db->select('*');
    $this->db->where('id', $this->primaryKey);
    $this->db->from($this->tablename);
    $this->db->where(array('oauth_provider'=>$data['oauth_provider'],'oauth_uid'=>$data['oauth_uid']));
    $prevQuery = $this->db->get();
    $prevCheck = $prevQuery->num_rows();

    if($prevCheck > 0){
        $prevResult = $prevQuery->row_array();
        $data['modified'] = date("Y-m-d H:i:s");
        $update = $this->db->update($this->tablename,$data,array('id'=>$prevResult['id']));
        $userID = $prevResult['id'];
    }else{
        $data['created'] = date("Y-m-d H:i:s");
        $data['modified'] = date("Y-m-d H:i:s");
        $insert = $this->db->insert($this->tablename,$data);
        $userID = $this->db->insert_id();
    }

    return $userID?$userID:FALSE;
}

This function insert twice and if oauth_uid already exists then it again insert I want if exists then only update  

***#google insert code..***
public function google_checkUser($data = array()){
    $this->db->select($this->primaryKey);
    $this->db->from($this->tablename);
    $this->db->where(array('oauth_provider'=>$data['oauth_provider'],'oauth_uid'=>$data['oauth_uid']));
    $prevQuery = $this->db->get();
    $prevCheck = $prevQuery->num_rows();

    if($prevCheck > 0){
        $prevResult = $prevQuery->row_array();
        $data['modified'] = date("Y-m-d H:i:s");
        $update = $this->db->update($this->tablename,$data,array('id'=>$prevResult['id']));
        $userID = $prevResult['id'];
    }else{
        $data['created'] = date("Y-m-d H:i:s");
        $data['modified'] = date("Y-m-d H:i:s");
        $insert = $this->db->insert($this->tablename,$data);
        $userID = $this->db->insert_id();
    }

    return $userID?$userID:FALSE;
}

This works well but as I update the email it insert the facebook code 4 more time please help to solve this issue

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 想问一下stata17中这段代码哪里有问题呀
    • ¥15 flink cdc无法实时同步mysql数据
    • ¥100 有人会搭建GPT-J-6B框架吗?有偿
    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决