2017-06-16 52 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包含值 –