prova questo script:
codice:
function buildArray(&$values, $select, $from, $join, $where, $group, $order){
if ($select!='')$values['SELECT']=$select;
if ($from!='')$values['FROM']=$from;
if ($join!='')$values['JOIN']=$join;
if ($where!='')$values['WHERE']=$where;
if ($group!='')$values['GROUP_BY']=$group;
if ($order!='')$values['ORDER_BY']=$order;
return true;
}
$query = "SELECT fieldnames FROM tablename INNER JOIN bla bla ON fielname=fielname WHERE fieldname = 'value' ORDER BY fieldname";
$rex = '/^SELECT(.*?)FROM(.*?)((?:INNER|CROSS|NATURAL|LEFT|RIGHT).*?)?(?:WHERE(.*?))?(?:GROUP\s+BY(.*?))?(?:ORDER\s+BY(.*?))?$/ise';
$rpl = 'buildArray($parsedQuery,\\'$1\\', \\'$2\\', \\'$3\\', \\'$4\\', \\'$5\\', \\'$6\\');';
$parsedQuery=array();
preg_replace($rex,$rpl,$query);
echo '<pre>';
print_r($parsedQuery);
echo '</pre>';