2013-10-23 71 views
0

有人能告訴我爲什麼這個代碼可以在我的本地服務器上工作,但不是與godaddy?我得到GoDaddy的下面的錯誤...在localhost上工作的語法,不在godaddy服務器上工作

Parse error: syntax error, unexpected '[' in /home/content/20/10592020/html/foodport/application/controllers/register.php on line 41 

這裏是我的user_modelget_userId功能。

public function get_userId(){ 
     $results = $this->obtain_user_info('users', array('username'=>$this->username), true); 

     if(count($results) > 0) 
     { 
      return $results; 
     }else 
     { 
      return array("user_id" => GUEST_ID); 
     } 
    } 

這裏是obtain_user_info功能:

private function obtain_user_info($table, $params, $assoc = false){ 
     $query = $this->db->get_where($table, $params); 

     if(!$assoc){ 
      $results = $query->result(); 
     }else 
     { 
      $results = $query->row_array(); 
     } 

     return $results; 
    } 

這裏是我的註冊控制器代碼具體線路41

$user_id = $user->get_userId()['user_id']; 
+0

我不明白get_userId()['user_id'],我喜歡get_userId($ someVariable)。都一樣嗎?如果你能向我解釋或提供解釋鏈接,我會很感激。 thanx –

+0

在線和本地檢查php版本 – umefarooq

回答

3

檢查PHP的版本 - 我的猜測是,你的本地服務器運行的版本比GoDaddy的服務器版本晚。您可能需要做這樣的事情:

$temp_id = $user->get_userId(); 
$user_id = $temp_id['user_id']; 
+0

godaddy也可能允許您更改您在該文件夾中運行的php版本 - 我不使用godaddy,但我遇到了與我最喜歡的webhost類似的問題。 – Ryan

+0

@Ryan曾經的樂觀主義者!我從來沒有聽說過GoDaddy的任何好消息。 – 2013-10-23 04:24:20

+0

謝謝,最終不得不在一些文件中解決這個問題。 –

1

具體來說,需要PHP> 5.4.0直接訪問函數返回數組,如:

$user_id = $user->get_userId()['user_id']; 

此前5.4.0你需要該函數的返回分配給一個變量,並訪問:

$result = $user->get_userId(); 
$user_id = $result['user_id']; 

但我會問,爲什麼返回一個數組,如果你只返回一個值?

相關問題