2014-11-02 24 views
0


我的CodeIgniter應用程序有點問題。CodeIgniter inser/update_batch(可能)

代碼工作對安裝在我的筆記本電腦的Apache,它的工作原理我的在線服務器上爲好,而不是客戶端的主機...上;)

錯誤信息:

Severity: Warning 
Message: array_keys() expects parameter 1 to be array, boolean given 
Filename: database/DB_active_rec.php 
Line Number: 1113 

A PHP Error was encountered 
Severity: Warning 
Message: sort() expects parameter 1 to be array, null given 
Filename: database/DB_active_rec.php 
Line Number: 1114 

A PHP Error was encountered 
Severity: Warning 
Message: Invalid argument supplied for foreach() 
Filename: database/DB_active_rec.php 
Line Number: 1144 

A Database Error Occurred 
You must use the "set" method to update an entry. 

似乎問題是關於insert_batch & update_batch方法。

任何想法?

該代碼非常簡單,它可以在我運行它的3臺服務器中的2臺上運行。兩個功能:

public function insert_tabs($fb_user_id, $fanpages) { 
     $tabs = array(); 
     foreach($fanpages as $fanpage) { 
      $entry['ta_user_fb_id'] = $fb_user_id; 
      $entry['ta_fanpage_id'] = $fanpage['fa_fanpage_id']; 
      $entry['ta_text'] = "Put your content here."; 

      $tabs[] = $entry; 
     } 

     return $this->db->insert_batch('tabs', $tabs); 
    } 

和:

function set_random_links($entries) { 
    $insert = array(); 
    foreach($entries as $fanpage) { 
     $fanpage_id = $fanpage['fa_fanpage_id']; 
     $links = $this->get_random_links(); 

     foreach($links as $link) { 
      $entry['lf_fb_fanpage_id'] = $fanpage_id; 
      $entry['lf_link_id'] = $link->li_id; 

      $insert[] = $entry; 
     } 
    } 

    return $this->db->insert_batch('linksonfanpages', $insert); 
} 

從理論上講,一切都很好。

+0

分享你的模型的功能來得到答案。 – 2014-11-02 18:55:04

+0

我已更新帖子。 – pugnac 2014-11-02 19:03:39

回答

0

交叉檢查php版本,MySQL版本並檢查是否所有文件都正確上傳。

大多數情況下,由於版本不匹配而發生此錯誤。

0

首先出現此錯誤表示您的$ fanpages不是數組。

A PHP Error was encountered 
Severity: Warning 
Message: Invalid argument supplied for foreach() 
Filename: database/DB_active_rec.php 
Line Number: 1144 


public function insert_tabs($fb_user_id, $fanpages) { 
     $tabs = array(); 
     if(is_array($fanpages)) { 

       foreach($fanpages as $fanpage) { 
        $entry['ta_user_fb_id'] = $fb_user_id; 
        $entry['ta_fanpage_id'] = $fanpage['fa_fanpage_id']; 
        $entry['ta_text'] = "Put your content here."; 

        $tabs[] = $entry; 
       } 
     } 
     if(count($tabs)) return $this->db->insert_batch('tabs', $tabs); 
     return -1; 
} 

另外,我們可以看到$ fanpages的來源嗎?因爲如果來自這個問題似乎是整個問題。