Version: 0.2.105 beta
Github: https://github.com/marcocesarato/PHP-Light-SQL-Parser-Class
Author: Marco Cesarato
This class can parse SQL to get query type, tables, field values, etc..
It takes an string with a SQL statements and parses it to extract its different components.
Currently the class can extract the SQL query method, the names of the tables involved in the query and the field values that are passed as parameters. This parser is pretty light respect phpsqlparser or others php sql parser.
- php 4+
- Install composer
- Type
composer require marcocesarato/sqlparser
- Enjoy
$parser = new LightSQLParser("UPDATE Customers AS alias SET ContactName = 'Marco Cesarato', City = 'Milan' WHERE ID = 1;");
OR
$parser = new LightSQLParser();
$parser->setQuery("UPDATE Customers AS alias SET ContactName = 'Marco Cesarato', City = 'Milan' WHERE ID = 1;");
How to retrieve the query's method:
$parser->getMethod();
Output
string(6) "UPDATE"
How to retrieve the main the query's table:
$parser->getTable();
Output
string(9) "Customers"
How to retrieve the query's tables:
$parser->getAllTables();
Output
array(1) {
[0]=>
string(9) "Customers"
}
How to retrieve the query's fields:
$parser->getFields();
Output
array(2) {
[0]=>
string(11) "ContactName"
[1]=>
string(4) "City"
}
Method | Parameters | Description |
---|---|---|
__construct | Constructor | |
setQuery | Set SQL Query string | |
getQuery | return array | Get SQL Query string |
getAllQuery | return string | Get SQL All Query string |
getMethod | param $query return string |
Get SQL Query method |
getFields | param $query return array |
Get Query fields (at the moment only SELECTINSERTUPDATE) |
getTable | param $query return string |
Get SQL Query First Table |
getTables | return array | Get SQL Query Tables |
getJoinTables | return array | Get SQL Query Join Tables |
hasJoin | return bool | Return if has join tables |
getSubQueries | return array | Get all SELECT subqueries |
hasSubQueries | return bool | Return if has subqueries |