marcocesarato/sqlparser

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 pas

0.2.106 2021-01-29 07:39 UTC

This package is auto-updated.

Last update: 2024-04-11 20:04:32 UTC


README

Version: 0.2.105 beta

Github: https://github.com/marcocesarato/PHP-Light-SQL-Parser-Class

Author: Marco Cesarato

Description

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.

Requirements

  • php 4+

Install

Composer

  1. Install composer
  2. Type composer require marcocesarato/sqlparser
  3. Enjoy

Usage

$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;");

Method

How to retrieve the query's method:

$parser->getMethod();

Output

string(6) "UPDATE"

Tables

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"
}

Fields

How to retrieve the query's fields:

$parser->getFields();

Output

array(2) {
  [0]=>
  string(11) "ContactName"
  [1]=>
  string(4) "City"
}

Methods

LightSQLParser

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