如何验证数据库中的数据?如果数据库中没有数据,则应该提醒

时间:2015-04-30 07:18:07

标签: php yii

我正在使用yii框架开发Web应用程序,我有一个名为" studentinformation"并显示如下

id  name   mothername   phone        classid   parentname      email
1. xxxxx     asdf      9658741230       2        pqrs        xy@gmail.com   

这是我的另一张表

classid  classname
    1.      class1
    2.      class2
    3.      class3

我正在尝试将excel文件数据导入数据库,在我的excel文件中,我给了classname而不是classid,并从classname转换为classid并存储到数据库中,一切正常。 这是带有数据的excel文件列

 id  name   mothername   phone         classid    parentname      email
 1.  xxxxx    asdf       9658741230     class10      pqrs      xy@gmail.com 

我的要求: - 如果我在我的excel文件中给出了错误的classname,这意味着我的数据库中没有classname,那时它应该显示一个类似&#34的警告;你的类名是错的" 例如 在上面的excel表中我给了classid是" class10"但是我的数据库表中没有class10,它应该显示一些警告而不是这个错误"试图得到非对象的属性"我在这里尝试,但我没有得到你能帮助我...

 $classdet = Classdetails::model()->findByAttributes(array('classname'=>'Class10','School_Id'=>1),'Status=1');
    if($classdet->classname != 'Class10')
    {
        echo '<script language="javascript">';
        echo 'alert("your classname is wrong")';
        echo '</script>';
    }
    else{
        print_r($classdet);
        }

1 个答案:

答案 0 :(得分:1)

如果该课程不存在,您无法访问该课程的属性。因此$classdet->classname导致尝试获取非对象错误的属性。因此,您应该将代码更改为:

$classdet = Classdetails::model()->findByAttributes(array('classname'=>'Class10','School_Id'=>1),'Status=1');
if($classdet == null)
{
    echo '<script language="javascript">';
    echo 'alert("your classname is wrong")';
    echo '</script>';
}
else{
    print_r($classdet);
    }