Php codeigniter动态字段数插入

Php codeigniter动态字段数插入,php,codeigniter,Php,Codeigniter,我正在使用codeigniter,并从关联数组(来自外部网站)对我的表执行一些插入和更新操作,其中字段的数量并不总是相同的 这是我的密码 $url ="http://api.peerindex.net/1/profile/show.json?id=$twittername&api_key=xxxxxx"; $ch = curl_init(); $timeout = 5; curl_setopt($ch,C

我正在使用codeigniter,并从关联数组(来自外部网站)对我的表执行一些插入和更新操作,其中字段的数量并不总是相同的

这是我的密码

 $url ="http://api.peerindex.net/1/profile/show.json?id=$twittername&api_key=xxxxxx";

            $ch = curl_init();  
            $timeout = 5;  
            curl_setopt($ch,CURLOPT_URL,$url);  
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);  
            $peerdata = curl_exec($ch);
            curl_close($ch);
            if (strlen($peerdata)>10)
            {
                $peerdata = json_decode($peerdata);
                $this->db->where ("userid", $this->userinfo->userid);
                $this->db->update('userpeerdata', $peerdata);
               }
My Table userpeerdata包含大约6列,但有些列不存在。我想要的是,它应该只接受数据库中存在的列,其他列应该忽略。我怎样才能用简单的方式做到这一点

您应该使用。它们有一个很好的小函数,名为
elements()
,它将只提取您想要的元素:

$this->load->helper('array');
$peerdata = json_decode($peerdata);
// Include a list of all your columns in the table...
$peerdata = elements(array('name', 'twitter', 'known', 'authority'), $peerdata);

$this->db->where ("userid", $this->userinfo->userid);
$this->db->update('userpeerdata', $peerdata);