function  jieri($jieri){
$sql = "SELECT goods_id,goods_thumb,goods_name,shop_price,et_price  FROM  hc_goods   WHERE  goods_id  in(SELECT  goods_id FROM hc_goods_attr  WHERE  attr_value='".$jieri."')  order by goods_id  desc  limit 5";
global $db;  
$result = $db->getAll($sql);
return  $result;
}
$sql="SELECT jieri_name FROM  hc_shouye_jieri";
$result1 = $db->getAll($sql);echo $a=$result1[0]['jieri_name'];//可以输出
$jieri1=jieri("$a");print_r($jieri1);//这里打印不出函数   print_r($jieri1);打印不出来啊    如果给 echo $a=$result1[0]['jieri_name']="赋值"就可以打印出了  这是怎么回事啊 

解决方案 »

  1.   

    如果给 echo $a=$result1[0]['jieri_name']="赋值"就可以打印出了 
    你给赋什么值了。描述不清。
      

  2.   


    比如我给echo $a=$result1[0]['jieri_name']="中秋节";  就可以打印出了。但是实际上 $result1[0]['jieri_name']就是等于 中秋节。用echo $result1[0]['jieri_name'];可以输出   中秋节的
      

  3.   

    可能是编码问题。文件与数据库是什么编码? 取数据时有没有 set names '字符集';  指定字符集。
      

  4.   


    不会的 数据库都是utf8格式  和其他一样   其他都可以输出。  jieri_name 这个字段是varchar  
      

  5.   

    先去phpmyadmin中执行你的sql,看看sql是否正确
      

  6.   

    运行的时候,$jieri1=jieri("$a");这里没有报错么?
      

  7.   


    查询结果都可以用print_r打印出    就是放到那个函数里的时候    就没结果了
      

  8.   

    function jieri($jieri){
      echo $jieri; //看看是什么?
      $sql = "SELECT goods_id,goods_thumb,goods_name,shop_price,et_price FROM hc_goods WHERE goods_id in(SELECT goods_id FROM hc_goods_attr WHERE attr_value='".$jieri."') order by goods_id desc limit 5";
      global $db;   
      $result = $db->getAll($sql);
      print_r($result); //看看有事什么?
      return $result;
    }
      

  9.   


      echo $jieri; //看看是什么?   输出 中秋节   输出正常
       print_r($result); //看看有事什么?  这里输出 Array()    没有值。  郁闷
     
      

  10.   

    各位 打下 已经好了  我用trim  去掉了首尾的空格就好了      谁能解释下为什么 数据库中明明没有空格   还需要去掉(我这个方法是蒙对的)