PHP基础知识-如何删除通知


PHP Basics - How to remove Notice

我承认我不太了解php准则,需要帮助-如果可能的话,在一些基本的php注意事项上。尽管可以通过关闭错误报告来安全地忽略它们。但是,正如所谓的学习来自工作经验

已最大限度地打开错误报告有两个样本通知-这是发生在许多页面上的不同变量是

A) 注意:未定义的变量:第45行/home/truecar7/public_html/contensions/com_toys/products/search.php中的列表

B) 未定义的属性:第180行上的stdClass::$prod_small_pic

A的功能是:-

function brand_drop_down(){
$mainframe =& JFactory::getApplication();
$option = JRequest::getCmd('option');
global $Itemid; 
$database = &JFactory::getDBO();
$sql = "SELECT * from #__toys_products where cat_status='1'  order by cat_sorder Asc";
$database->setQuery($sql);
$rows = $database->loadObjectList();
$list.="";
foreach($rows as $row){
$list.="<option value='".$row->cat_id."' style='padding-left:10px;'>".$row->cat_name."</option>";
}
return $list;

B的功能是

$database->setQuery($sql);
$rows = $database->loadObjectList();
$list="";
if($rows){
$flg=0;
foreach($rows as $row){
if($row->prod_small_pic!=""){
$img = "uploads/products/".$row->cat_image;
}else{
$img="templates/pioneer_home/images/dvd1.jpg";
}       

我可以看到变量-list和prod_small_pic没有定义。我认为它们是空字符串。

我指的是如何定义它们,或者更确切地说是删除此类错误通知的最佳方式。看到,多个页面上有许多错误通知,但使用不同的变量

A的函数:

function brand_drop_down(){
    $mainframe =& JFactory::getApplication();
    $option = JRequest::getCmd('option');
    global $Itemid; 
    $database = &JFactory::getDBO();
    $sql = "SELECT * from #__toys_products where cat_status='1'  order by cat_sorder Asc";
    $database->setQuery($sql);
    $rows = $database->loadObjectList();
    // ***** changed next line
    $list="";
    foreach($rows as $row){
        $list.="<option value='".$row->cat_id."' style='padding-left:10px;'>".$row->cat_name."</option>";
    }
    return $list;
}

功能B

$database->setQuery($sql);
$rows = $database->loadObjectList();
$list="";
if($rows){
    $flg=0;
    foreach($rows as $row){
        // ***** changed next line
        if(isset($row->prod_small_pic) && $row->prod_small_pic !==""){
            $img = "uploads/products/".$row->cat_image;
        }else{
            $img="templates/pioneer_home/images/dvd1.jpg";
        }
    }
}

第45行看起来像是在初始化变量,但不是,它应该是$list="";

第80行在$row中查找属性,但它不包含该属性。也许您没有在查询中选择它?试试print_r($row)看看里面有什么。

另外,global $Itemid;-难道不可能使它成为函数参数吗?function brand_drop_down($Itemid){