3

Joomla プロジェクトに取り組んで、PHP を学習および実行しています。このコードを改善し、PHP を解決する方法

注意: 未定義の変数: cond in*/home/mygames/public_html/components/com_toys/models/category.php の 140 行目 ($sql 行)*

   function loadSubCat($id,$Carmodel,$minprice,$maxprice){
   $mainframe =& JFactory::getApplication();
   $option = JRequest::getCmd('option');
   $database =& JFactory::getDBO();
   global $Itemid;  
   if($Carmodel!="")
   $cond=" and prod_id='$Carmodel' ";
   $sql = "Select * from #__toycar_products Where prod_cat_id='".$id."' $cond and prod_status='1' and prod_id in (select v_prod_id from #__toycar_variants)  Order By prod_sorder";

注意: 200 行目で /home/truecar7/public_html/components/com_toys/models/category.php の非オブジェクトのプロパティを取得しようとしています

行 200 は return $row->id; です。

   function getItemIdByName($Name){
   $mainframe =& JFactory::getApplication();
   $option = JRequest::getCmd('option');
   $database =& JFactory::getDBO();
   $sql = "Select id  from #__menu Where name = '".$Name."'";
   $database->setQuery($sql);
   $row = $database->loadObject();
   return $row->id;
}

編集

Lodder と Elin さん、こんにちは。動作しますが、このように動作します。それ以外の場合は、$row 行の戻り行に未定義の変数通知が表示されます。

function getItemIdByName($Name){
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('*')
 ->from('#__menu')      
 ->where('id = ' . $db->quote($Name));      
$db->setQuery($query);
$rows = $db->loadObjectList();

foreach ($rows as $row){
    $row = $row->msg;
     }    
$row='';
return $row;
}
4

2 に答える 2