On Friday, 6 May 2011 at 10:05, Ashley Sheridan wrote:
Hiya, has anyone had any experience with parsing a string of sql to break it 
down into its component parts? At the moment I'm using several regex's to parse 
a string, which works, but I'm sure there's a more elegant solution.
> 
> The general idea is to produce a nice looking page giving details of updated 
> fields and values.
> 
> I'm only concerned with update statements really, and the queries are very 
> simple, operating on one table at a time, with no sub queries or selects.
> 
> Thanks in advance if anyone is able to suggest anything!

I don't have any experience doing it with SQL, but I have written several 
parsers in my time, and I'd strongly recommend against using regexes to do it.

The usual way to approach this problem is to tokenise the input, then take each 
token at a time and branch where there are several options for what comes next. 
As you go along, build up a data structure that represents the data you need.

Alternatively you could ask Google...

http://www.phpclasses.org/package/4916-PHP-Build-a-tree-to-represent-an-SQL-query.html
http://code.google.com/p/php-sqlparser/
and more: http://jmp.li/fmy

-Stuart

-- 
Stuart Dallas
3ft9 Ltd
http://3ft9.com/






-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to