home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 4 / hacker04 / 04_HACK04.ISO / src / PHP / mysqlsubq.php3.txt < prev    next >
Encoding:
Text File  |  2002-05-06  |  1.2 KB  |  48 lines

  1. MySQL SubQuery 
  2.  
  3. Performs simple nested SELECT statements with MySQL (for example, of the form SELECT * FROM x WHERE y IN (SELECT y FROM z WHERE ...) ) Subqueries must be enclosed in parenthe 
  4.  
  5.  
  6.  
  7. <? 
  8.  
  9. //mysql_subquery 
  10. //copyright 1999 avi bryant, all rights reserved 
  11. //feel free to use this and modify it as you see fit 
  12.  
  13. function sub($result) 
  14. {     
  15.     if($result == 0) 
  16.     return  "()"; 
  17.     else 
  18.     { 
  19.     $row = mysql_fetch_row($result); 
  20.     $strResult =  "( $row[0]";     
  21.         while($row = mysql_fetch_row($result)) 
  22.             $strResult =  "$strResult , $row[0]"; 
  23.  
  24.     $strResult =  "$strResult )"; 
  25.         return $strResult; 
  26.     } 
  27.  
  28. function mysql_subquery($query) 
  29.     $substart = strpos($query,  "("); 
  30.     if($substart != false) 
  31.     { 
  32.         $subend = strrpos($query,  ")"); 
  33.         $before = substr($query, 0, $substart); 
  34.         $after = substr($query, $subend+1, -1); 
  35.         $subquery = substr($query, $substart+1, $subend-$substart-1); 
  36.      
  37.         $subresult = mysql_subquery($subquery); 
  38.         $subtext = sub($subresult); 
  39.         return mysql_query($before . $subtext . $after); 
  40.     } 
  41.     else return mysql_query($query); 
  42.  
  43. ?> 
  44.  
  45.