2017-07-04 9 views
-1

私はCodeIgniterのを使用して、次のクエリを実行しようとしていますが、私はのためにCodeIgniterのthis-> DB->クエリ正体不明のインデックス

未確認のインデックスを取得しています - >行[「コード」];

public function getSExtension($id) { 
    $temp = array(); 
    $query = $this->db->query("SELECT extension_id FROM " . DB_PREFIX . "zipcode_shipping WHERE `zip_code` = '" . $id . "'"); 
    if($query->num_rows) { 
    foreach ($query->rows as $key => $value) { 
     $code = $this->db->query("SELECT code FROM " . DB_PREFIX . "extension WHERE `extension_id` = '" . $value['extension_id'] . "'")->row['code']; 
     $this->language->load("shipping/".$code); 
     $temp[] = $this->language->get('text_title'); 
    } 
    } 
    return $temp; 
} 
+0

$ row - > ['code']をクエリに連鎖しています。 –

+0

あなたは何をしたいですか? –

+0

すべてのコードをコードブロックに含めるようにコードを編集してください。これにより、他のユーザーがあなたのコードをより良く見るのに役立ちます。あなたはそれを4つのスペースでインデントすることで含めることができます。 – Jublo

答えて

0

問題は、あなたが正しくメソッド呼び出しを必要とし、結果セットを取得していないです。あなたが持っているので、存在しないdbプロパティ、つまり$query->rowsはおそらく$query->row_array()になるはずです。

Documentation Here.

Iの代わりに任意の "アレイ" 方法のresult()row()を使用以下の例では。

これを試してください。

$temp = array(); 
$query = $this->db->query("SELECT extension_id FROM ".DB_PREFIX."zipcode_shipping WHERE `zip_code` = '".$id."'"); 

if($query->num_rows() > 0) 
{ 
    foreach($query->result() as $value) 
    { 
     $code = $this->db->query("SELECT code FROM ".DB_PREFIX."extension WHERE `extension_id` = '".$value->extension_id."'")->row()->code; 
     $this->language->load("shipping/".$code); 
     $temp[] = $this->language->get('text_title'); 
    } 
} 
+0

ありがとう、私はこれを試してみます。 –

+0

コードを試しましたが、致命的なエラーが未定義ですstdClass Result() –

+0

私はあなたによく似た問題がありました - 'if($ query-> num_rows> 0)でメソッドの代わりにプロパティを呼び出しました' 'if ($ query-> num_rows()> 0) 'となります。私は正しい答えを編集しました。あなたのコードに修正を加え、それが役に立ったら教えてください。 – DFriend

関連する問題