Php 尝试获取非对象的属性(2)
我总是犯这样的错误: 正在尝试获取非对象的属性 问题在于,当my DB中的这个字段用例如“1988-12-01 15:13:14”填充时,名为“sterfdatum”的SQL日期字段出现了问题。那么我的代码就没有问题了。但当字段类似于“0000-00-00:00:00”时,我试图从我的数据库中取出它,错误就会显示出来 这是我的模型:Php 尝试获取非对象的属性(2),php,Php,我总是犯这样的错误: 正在尝试获取非对象的属性 问题在于,当my DB中的这个字段用例如“1988-12-01 15:13:14”填充时,名为“sterfdatum”的SQL日期字段出现了问题。那么我的代码就没有问题了。但当字段类似于“0000-00-00:00:00”时,我试图从我的数据库中取出它,错误就会显示出来 这是我的模型: <?php public function get_artist($last_name = NULL , $front_name = NULL, $lang
<?php
public function get_artist($last_name = NULL , $front_name = NULL, $language = 'nl')
{
// infoNL as language so language can be used in the View file
if($language == 'nl')
{
$this->db->select('naam, voornaam, geboortedatum, geboorteplaats, foto, infoNL as language, sterfdatum')
->from('kunstenaar')
->where('naam', $last_name)
->where('voornaam', $front_name)
->limit(1);
return $this->db->get()->row();
}
elseif($language == 'en')
{
$this->db->select('naam, voornaam, geboortedatum, geboorteplaats, foto, infoEN as language, sterfdatum')
->from('kunstenaar')
->where('naam', $last_name)
->where('voornaam', $front_name)
->limit(1);
return $this->db->get()->row();
}
}
如果我理解正确的话,应该可以工作,您似乎在为视图指定一个非对象的可变艺术家 当在数据库中找不到与查询匹配的项时,可能会发生此错误 假设您的方法get_artist()返回空值,您应该尝试以下操作:
if(isset($artist))
{
if($artist->sterfdatum != '0000-00-00 00:00:00')
{
$birthYear = date('Y', strtotime($artist->geboortedatum));
$dieYear = date('Y', strtotime($artist->sterfdatum));
}
}
但是,当发生错误时,您应该查看$artist中的值,以便对其进行正确的测试
希望对你有帮助
if(isset($artist->sterfdatum) && $artist->sterfdatum != '0000-00-00 00:00:00') {
$birthYear = date('Y', strtotime($artist->geboortedatum));
$dieYear = date('Y', strtotime($artist->sterfdatum));
}
if(isset($artist))
{
if($artist->sterfdatum != '0000-00-00 00:00:00')
{
$birthYear = date('Y', strtotime($artist->geboortedatum));
$dieYear = date('Y', strtotime($artist->sterfdatum));
}
}