开发者

Can php query the results from a previous query?

开发者 https://www.devze.com 2022-12-29 12:55 出处:网络
In some languages (ColdFusion comes to mind), you can run a q开发者_如何学Pythonuery on the result set from a previous query. Is it possible to do something like that in php (with MySQL as the databas

In some languages (ColdFusion comes to mind), you can run a q开发者_如何学Pythonuery on the result set from a previous query. Is it possible to do something like that in php (with MySQL as the database)?

I sort of want to do:

$rs1 = do_query( "SELECT * FROM animals WHERE type = 'fish'" );
$rs2 = do_query( "SELECT * FROM rs1 WHERE name = 'trout'" );


There is no MySQL function like this for PHP, however there is a more advanced substitute for it.

Edit: For those of you who don't know what a query of queries is, it's exactly this and there's a purpose some people do it like this. Using an AND operator is ****NOT**** the same thing! If I want results where username='animuson' for one part of my script and then want all the results out of that query where status='1', it is not logical for me to run another query using an AND operator, it is much more logical to loop through the previous results in PHP. Stop upvoting things without reading the comments on why they weren't upvoted in the first place, that's just lazy. If you don't have a clue what's being talked about, you shouldn't be upvoting or downvoting in the first place.


Well, you may want to do this without touching the db:

while($t = mysql_fetch_array($rs1)){
    if($t[name] == 'trout'){ 
        echo 'This is the one we\'re looking for!'; 
        break;
    }
}


In PHP, it would be terribly inefficient. You would have to loop through each row and check that its name was trout. However, is there any reason you can't do

SELECT * FROM `animals` WHERE `type` = 'fish' AND `name` = 'trout'

in SQL? It would be much, much faster.


You can also do something like

select morestuff from (select stuff from table where a = b ) where c = d;


Use the AND keyword?

"SELECT * FROM animals WHERE type = 'fish' and name='trout'"

Also, you can use LINQ for php http://phplinq.codeplex.com/

0

精彩评论

暂无评论...
验证码 换一张
取 消