2017-06-16 84 views
1

這裏是我的代碼對象無法轉換成int

$eid = rand(10000, 99999); 

$this->db->select('eid'); 
$this->db->from('student'); 
$data['eid'] = $this->db->get(); 

foreach ($data['eid'] as $d) { 
    if ($eid == $d) { 
     $eid + 1; 
    } else { 
     $eid = $eid; 
    } 
} 

我要檢查唯一EID爲每個學生,但它給

Object類的mysqli不能轉換爲int」

錯誤在這條線foreach ($data['eid'] as $d)

+0

你可以做'var_dump($ data ['eid']);'併發布。 –

+0

在哪裏添加var_dump – AppS

+0

$ d是一個對象,您試圖將其與整數進行比較。這就是問題。 'foreach'上方的 –

回答

0

錯誤是在這裏:

$data['eid'] = $this->db->get(); // It return an Std Class Object 

然後:

if ($eid == $d) { 

在這裏,你與許多$eid

+0

好的..任何建議比較? – AppS

+0

你的意思是我要檢查像$ eid == $ d-> eid ... – AppS

+0

是的,試試這個。 –

0

好吧,你可以做到這一點比較喜歡的object

foreach ($data['eid'] as $d) { 
if ($eid == $d->eid) { 
    $eid + 1; 
} else { 
    $eid = $eid; 
} 
} 

只需更換

if ($eid == $d) 

if ($eid == $d->eid) 

它將很好地工作。

+0

我高壓試過這給出'試圖獲得非物體的財產' – AppS

+0

你可以顯示什麼是$ d包含值 –