php 语句 一个语句的查询结果作为另外个语句的条件!

php 语句 一个语句的查询结果作为另外个语句的条件!

例如 select * from A where id=1 查询出一个 title 字段的结果 ,然后把这个title 作为条件 供另外个语句 select * from B where dd= $title 类似这样 的 谁能给个具体案例 !

第1个回答  推荐于2016-05-13
$db = M('你的数据表'); //如: $db1 = M('A'); $db2 = M('B');
$title = $db1->where(array('id'=> "1"))->field('title')->select();
$result= $db2->where(array('dd'=> $title))->select();

//->select()好像返回的是false,true,不经常用PHP,你百度看看吧。链接数据库你可以用原始的方法。追问

500错误

追答

你不会直接粘贴复制了吧,这我也不经常用,大体上是这样的,

$db = M('你的数据表'); 这个一般在MVC中出现,你的要不是MVC的,就用:mysql_connect();

mysql_select_db(); mysql_query() 来链接数据库呗

追问

你没写完整我也不知道该怎么搞

追答

select * from B where dd= (select title from A where id=1)如果 1是个参数,
$value=1;
select * from B where dd= (select title from A where id='$value');

追问

Safe Alert: Request Error step 2! 这个错误

追答

你把部分源码贴出来

追问

Execute('a', $query);
while($row = $dsql->GetArray('a'))
{
?>

追答

语句没问题
你看看http://blog.csdn.net/jodan179/article/details/8021627

本回答被提问者采纳
第2个回答  2014-09-16
<?php>
    //假如有数据库图书馆,其中书籍表book和作者author表:
    //在user表中查询以为作者。
    $sql=select * from author where id = 1;
    $result=mysql_query($sql);
    if($result && mysql_num_rows($result)>0){
        while($row = mysql_fetch_assoc($result)){
           $sql=select * from book where bookauthor = $row['author'];
           //下面的就是执行、输出结果了
        }
    }
    
    
<?>

追问

输出结果的方式 能写详细点么!搞个完整的案例!

第3个回答  2014-09-16
select * from B where dd= (select title from A  where id=1)

一句sql就好了

追问

假如 id=1 是个 参数 该怎么办呢?