$db=D('media_sub_genre');
$subgenre=$db->table('imates_media_sub_genre genre,imates_genre_children genrechildren')->where('genrechildren.genre_id=genre.genre_id and genrechildren.genre_id='.$_GET['id'] )->findall();
小弟数据库查询语句想表达的原句意思为
select * form imates_media_sub_genre genre,imates_genre_children genrechildren where genrechildren.genre_id='.$_GET['id'] and genrechildren.genre_id=genre.genre_id;
不知道上面的写法对不,我查询的时候查询不出来,帮忙解决下 

解决方案 »

  1.   

    dump($db)打印出当前出来看看这个sql是不是对的呢。。
      

  2.   

    $_GET['id']有没有取到值,打印出来看一下吧
      

  3.   

    把sql语句打印出来就知道对不对了
      

  4.   

    在tp中这样查询是不对的,你可以查询tp开发手册中的复合查询,那里很详尽解决你的问题,况且tp中查询是很简单就可以多条件查询
      

  5.   

    $subgenre=$db->field('imates_media_sub_genre genre,imates_genre_children genrechildren')->where('genrechildren.genre_id=genre.genre_id and genrechildren.genre_id='.$_GET['id'] )->find();使用find()会返回一条记录 这样效率更高
    选择字段用field不是table
      

  6.   

    imates_genre_children genrechildren  什么意思 中间不能有空格 应该都是字段用逗号隔开
      

  7.   


    我把表名改过后,table也可以用的,问题解决了,谢谢
      

  8.   

    专业的语言说不出来,imates_genre_children 相当于int,genrechildren  就相当于一个a,整体效果就是int a;