Solutions Open Source

Référence de la classe t3lib_sqlparser

Graphe d'héritage de t3lib_sqlparser:

Inheritance graph
[légende]

Liste de tous les membres

Fonctions membres publiques

 parseSQL ($parseString)
 parseSELECT ($parseString)
 parseUPDATE ($parseString)
 parseINSERT ($parseString)
 parseDELETE ($parseString)
 parseEXPLAIN ($parseString)
 parseCREATETABLE ($parseString)
 parseALTERTABLE ($parseString)
 parseDROPTABLE ($parseString)
 parseCREATEDATABASE ($parseString)
 parseFieldList (&$parseString, $stopRegex='')
 parseFromTables (&$parseString, $stopRegex='')
 parseWhereClause (&$parseString, $stopRegex='')
 parseFieldDef (&$parseString, $stopRegex='')
 nextPart (&$parseString, $regex, $trimAll=FALSE)
 getValue (&$parseString, $comparator='')
 getValueInQuotes (&$parseString, $quote)
 parseStripslashes ($str)
 compileAddslashes ($str)
 parseError ($msg, $restQuery)
 trimSQL ($str)
 compileSQL ($components)
 compileSELECT ($components)
 compileUPDATE ($components)
 compileINSERT ($components)
 compileDELETE ($components)
 compileCREATETABLE ($components)
 compileALTERTABLE ($components)
 compileFieldList ($selectFields)
 compileFromTables ($tablesArray)
 compileWhereClause ($clauseArray)
 compileFieldCfg ($fieldCfg)
 debug_parseSQLpart ($part, $str)
 debug_parseSQLpartCompare ($str, $newStr, $caseInsensitive=FALSE)
 debug_testSQL ($SQLquery)

Attributs publics

 $parse_error = ''
 $lastStopKeyWord = ''


Documentation des fonctions membres

t3lib_sqlparser::parseSQL ( parseString  ) 

Parses any single SQL query

Paramètres:
string SQL query
Renvoie:
array Result array with all the parts in - or error message string
Voir également:
compileSQL(), debug_testSQL()

t3lib_sqlparser::parseSELECT ( parseString  ) 

Parsing SELECT query

Paramètres:
string SQL string with SELECT query to parse
Renvoie:
mixed Returns array with components of SELECT query on success, otherwise an error message string.
Voir également:
compileSELECT()

t3lib_sqlparser::parseUPDATE ( parseString  ) 

Parsing UPDATE query

Paramètres:
string SQL string with UPDATE query to parse
Renvoie:
mixed Returns array with components of UPDATE query on success, otherwise an error message string.
Voir également:
compileUPDATE()

t3lib_sqlparser::parseINSERT ( parseString  ) 

Parsing INSERT query

Paramètres:
string SQL string with INSERT query to parse
Renvoie:
mixed Returns array with components of INSERT query on success, otherwise an error message string.
Voir également:
compileINSERT()

t3lib_sqlparser::parseDELETE ( parseString  ) 

Parsing DELETE query

Paramètres:
string SQL string with DELETE query to parse
Renvoie:
mixed Returns array with components of DELETE query on success, otherwise an error message string.
Voir également:
compileDELETE()

t3lib_sqlparser::parseEXPLAIN ( parseString  ) 

Parsing EXPLAIN query

Paramètres:
string SQL string with EXPLAIN query to parse
Renvoie:
mixed Returns array with components of EXPLAIN query on success, otherwise an error message string.
Voir également:
parseSELECT()

t3lib_sqlparser::parseCREATETABLE ( parseString  ) 

Parsing CREATE TABLE query

Paramètres:
string SQL string starting with CREATE TABLE
Renvoie:
mixed Returns array with components of CREATE TABLE query on success, otherwise an error message string.
Voir également:
compileCREATETABLE()

t3lib_sqlparser::parseALTERTABLE ( parseString  ) 

Parsing ALTER TABLE query

Paramètres:
string SQL string starting with ALTER TABLE
Renvoie:
mixed Returns array with components of ALTER TABLE query on success, otherwise an error message string.
Voir également:
compileALTERTABLE()

t3lib_sqlparser::parseDROPTABLE ( parseString  ) 

Parsing DROP TABLE query

Paramètres:
string SQL string starting with DROP TABLE
Renvoie:
mixed Returns array with components of DROP TABLE query on success, otherwise an error message string.

t3lib_sqlparser::parseCREATEDATABASE ( parseString  ) 

Parsing CREATE DATABASE query

Paramètres:
string SQL string starting with CREATE DATABASE
Renvoie:
mixed Returns array with components of CREATE DATABASE query on success, otherwise an error message string.

t3lib_sqlparser::parseFieldList ( &$  parseString,
stopRegex = '' 
)

Parsing the fields in the "SELECT [$selectFields] FROM" part of a query into an array. The output from this function can be compiled back into a field list with ->compileFieldList() Will detect the keywords "DESC" and "ASC" after the table name; thus is can be used for parsing the more simply ORDER BY and GROUP BY field lists as well!

Paramètres:
string The string with fieldnames, eg. "title, uid AS myUid, max(tstamp), count(*)" etc. NOTICE: passed by reference!
string Regular expressing to STOP parsing, eg. '^(FROM)([[:space:]]*)'
Renvoie:
array If successful parsing, returns an array, otherwise an error string.
Voir également:
compileFieldList()

t3lib_sqlparser::parseFromTables ( &$  parseString,
stopRegex = '' 
)

Parsing the tablenames in the "FROM [$parseString] WHERE" part of a query into an array. The success of this parsing determines if that part of the query is supported by TYPO3.

Paramètres:
string list of tables, eg. "pages, tt_content" or "pages A, pages B". NOTICE: passed by reference!
string Regular expressing to STOP parsing, eg. '^(WHERE)([[:space:]]*)'
Renvoie:
array If successful parsing, returns an array, otherwise an error string.
Voir également:
compileFromTables()

t3lib_sqlparser::parseWhereClause ( &$  parseString,
stopRegex = '' 
)

Parsing the WHERE clause fields in the "WHERE [$parseString] ..." part of a query into a multidimensional array. The success of this parsing determines if that part of the query is supported by TYPO3.

Paramètres:
string WHERE clause to parse. NOTICE: passed by reference!
string Regular expressing to STOP parsing, eg. '^(GROUP BY|ORDER BY|LIMIT)([[:space:]]*)'
Renvoie:
mixed If successful parsing, returns an array, otherwise an error string.

t3lib_sqlparser::parseFieldDef ( &$  parseString,
stopRegex = '' 
)

Parsing the WHERE clause fields in the "WHERE [$parseString] ..." part of a query into a multidimensional array. The success of this parsing determines if that part of the query is supported by TYPO3.

Paramètres:
string WHERE clause to parse. NOTICE: passed by reference!
string Regular expressing to STOP parsing, eg. '^(GROUP BY|ORDER BY|LIMIT)([[:space:]]*)'
Renvoie:
mixed If successful parsing, returns an array, otherwise an error string.

t3lib_sqlparser::nextPart ( &$  parseString,
regex,
trimAll = FALSE 
)

Strips off a part of the parseString and returns the matching part. Helper function for the parsing methods.

Paramètres:
string Parse string; if $regex finds anything the value of the first () level will be stripped of the string in the beginning. Further $parseString is left-trimmed (on success). Notice; parsestring is passed by reference.
string Regex to find a matching part in the beginning of the string. Rules: You MUST start the regex with "^" (finding stuff in the beginning of string) and the result of the first parenthesis is what will be returned to you (and stripped of the string). Eg. '^(AND|OR|&&)[[:space:]]+' will return AND, OR or && if found and having one of more whitespaces after it, plus shorten $parseString with that match and any space after (by ltrim())
boolean If set the full match of the regex is stripped of the beginning of the string!
Renvoie:
string The value of the first parenthesis level of the REGEX.

t3lib_sqlparser::getValue ( &$  parseString,
comparator = '' 
)

Finds value in beginning of $parseString, returns result and strips it of parseString

Paramètres:
string The parseString, eg. "(0,1,2,3) ..." or "('asdf','qwer') ..." or "1234 ..." or "'My string value here' ..."
string The comparator used before. If "NOT IN" or "IN" then the value is expected to be a list of values. Otherwise just an integer (un-quoted) or string (quoted)
Renvoie:
mixed The value (string/integer). Otherwise an array with error message in first key (0)

t3lib_sqlparser::getValueInQuotes ( &$  parseString,
quote 
)

Get value in quotes from $parseString. NOTICE: If a query being parsed was prepared for another database than MySQL this function should probably be changed

Paramètres:
string String from which to find value in quotes. Notice that $parseString is passed by reference and is shortend by the output of this function.
string The quote used; input either " or '
Renvoie:
string The value, passed through stripslashes() !

t3lib_sqlparser::parseStripslashes ( str  ) 

Strip slashes function used for parsing NOTICE: If a query being parsed was prepared for another database than MySQL this function should probably be changed

Paramètres:
string Input string
Renvoie:
string Output string

t3lib_sqlparser::compileAddslashes ( str  ) 

Add slashes function used for compiling queries NOTICE: If a query being parsed was prepared for another database than MySQL this function should probably be changed

Paramètres:
string Input string
Renvoie:
string Output string

t3lib_sqlparser::parseError ( msg,
restQuery 
)

Setting the internal error message value, $this->parse_error and returns that value.

Paramètres:
string Input error message
string Remaining query to parse.
Renvoie:
string Error message.

t3lib_sqlparser::trimSQL ( str  ) 

Trimming SQL as preparation for parsing. ";" in the end is stripped of. White space is trimmed away around the value A single space-char is added in the end

Paramètres:
string Input string
Renvoie:
string Output string

t3lib_sqlparser::compileSQL ( components  ) 

Compiles an SQL query from components

Paramètres:
array Array of SQL query components
Renvoie:
string SQL query
Voir également:
parseSQL()

Réimplémentée dans ux_t3lib_sqlengine, et ux_t3lib_sqlparser.

t3lib_sqlparser::compileSELECT ( components  ) 

Compiles a SELECT statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL SELECT query
Voir également:
parseSELECT()

t3lib_sqlparser::compileUPDATE ( components  ) 

Compiles an UPDATE statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL UPDATE query
Voir également:
parseUPDATE()

t3lib_sqlparser::compileINSERT ( components  ) 

Compiles an INSERT statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL INSERT query
Voir également:
parseINSERT()

Réimplémentée dans ux_t3lib_sqlengine, et ux_t3lib_sqlparser.

t3lib_sqlparser::compileDELETE ( components  ) 

Compiles an DELETE statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL DELETE query
Voir également:
parseDELETE()

t3lib_sqlparser::compileCREATETABLE ( components  ) 

Compiles a CREATE TABLE statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL CREATE TABLE query
Voir également:
parseCREATETABLE()

Réimplémentée dans ux_t3lib_sqlengine, et ux_t3lib_sqlparser.

t3lib_sqlparser::compileALTERTABLE ( components  ) 

Compiles an ALTER TABLE statement from components array

Paramètres:
array Array of SQL query components
Renvoie:
string SQL ALTER TABLE query
Voir également:
parseALTERTABLE()

Réimplémentée dans ux_t3lib_sqlengine, et ux_t3lib_sqlparser.

t3lib_sqlparser::compileFieldList ( selectFields  ) 

Compiles a "SELECT [output] FROM..:" field list based on input array (made with ->parseFieldList()) Can also compile field lists for ORDER BY and GROUP BY.

Paramètres:
array Array of select fields, (made with ->parseFieldList())
Renvoie:
string Select field string
Voir également:
parseFieldList()

t3lib_sqlparser::compileFromTables ( tablesArray  ) 

Compiles a "FROM [output] WHERE..:" table list based on input array (made with ->parseFromTables())

Paramètres:
array Array of table names, (made with ->parseFromTables())
Renvoie:
string Table name string
Voir également:
parseFromTables()

t3lib_sqlparser::compileWhereClause ( clauseArray  ) 

Implodes an array of WHERE clause configuration into a WHERE clause. NOTICE: MIGHT BY A TEMPORARY FUNCTION. Use for debugging only! BUT IT IS NEEDED FOR DBAL - MAKE IT PERMANENT?!?!

Paramètres:
array WHERE clause configuration
Renvoie:
string WHERE clause as string.
Voir également:
explodeWhereClause()

t3lib_sqlparser::compileFieldCfg ( fieldCfg  ) 

Compile field definition

Paramètres:
array Field definition parts
Renvoie:
string Field definition string

Réimplémentée dans ux_t3lib_sqlengine, et ux_t3lib_sqlparser.

t3lib_sqlparser::debug_parseSQLpart ( part,
str 
)

Check parsability of input SQL part string; Will parse and re-compile after which it is compared

Paramètres:
string Part definition of string; "SELECT" = fieldlist (also ORDER BY and GROUP BY), "FROM" = table list, "WHERE" = Where clause.
string SQL string to verify parsability of
Renvoie:
mixed Returns array with string 1 and 2 if error, otherwise false

t3lib_sqlparser::debug_parseSQLpartCompare ( str,
newStr,
caseInsensitive = FALSE 
)

Compare two query strins by stripping away whitespace.

Paramètres:
string SQL String 1
string SQL string 2
boolean If true, the strings are compared insensitive to case
Renvoie:
mixed Returns array with string 1 and 2 if error, otherwise false

t3lib_sqlparser::debug_testSQL ( SQLquery  ) 

Performs the ultimate test of the parser: Direct a SQL query in; You will get it back (through the parsed and re-compiled) if no problems, otherwise the script will print the error and exit

Paramètres:
string SQL query
Renvoie:
string Query if all is well, otherwise exit.


Documentation des données membres

t3lib_sqlparser::$parse_error = ''

t3lib_sqlparser::$lastStopKeyWord = ''


La documentation de cette classe a été générée à partir du fichier suivant :
Généré le Fri Aug 31 11:42:35 2007 pour OBLADY - Typo3 API v4.1.2 par  doxygen 1.5.3