t3lib_sqlparser Klassenreferenz
Aufstellung aller Elemente
Öffentliche Methoden |
| | 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) |
Öffentliche Attribute |
|
| $parse_error = '' |
|
| $lastStopKeyWord = '' |
Dokumentation der Elementfunktionen
| 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
- Parameter:
-
- Rückgabe:
- string Output string
| t3lib_sqlparser::compileALTERTABLE |
( |
$ |
components |
) |
|
Compiles an ALTER TABLE statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL ALTER TABLE query
- Siehe auch:
- parseALTERTABLE()
| t3lib_sqlparser::compileCREATETABLE |
( |
$ |
components |
) |
|
Compiles a CREATE TABLE statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL CREATE TABLE query
- Siehe auch:
- parseCREATETABLE()
| t3lib_sqlparser::compileDELETE |
( |
$ |
components |
) |
|
Compiles an DELETE statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL DELETE query
- Siehe auch:
- parseDELETE()
| t3lib_sqlparser::compileFieldCfg |
( |
$ |
fieldCfg |
) |
|
Compile field definition
- Parameter:
-
| array | Field definition parts |
- Rückgabe:
- string Field definition string
| 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.
- Parameter:
-
- Rückgabe:
- string Select field string
- Siehe auch:
- parseFieldList()
| t3lib_sqlparser::compileFromTables |
( |
$ |
tablesArray |
) |
|
Compiles a "FROM [output] WHERE..:" table list based on input array (made with ->parseFromTables())
- Parameter:
-
- Rückgabe:
- string Table name string
- Siehe auch:
- parseFromTables()
| t3lib_sqlparser::compileINSERT |
( |
$ |
components |
) |
|
Compiles an INSERT statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL INSERT query
- Siehe auch:
- parseINSERT()
| t3lib_sqlparser::compileSELECT |
( |
$ |
components |
) |
|
Compiles a SELECT statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL SELECT query
- Siehe auch:
- parseSELECT()
| t3lib_sqlparser::compileSQL |
( |
$ |
components |
) |
|
Compiles an SQL query from components
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL query
- Siehe auch:
- parseSQL()
| t3lib_sqlparser::compileUPDATE |
( |
$ |
components |
) |
|
Compiles an UPDATE statement from components array
- Parameter:
-
| array | Array of SQL query components |
- Rückgabe:
- string SQL UPDATE query
- Siehe auch:
- parseUPDATE()
| 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?!?!
- Parameter:
-
| array | WHERE clause configuration |
- Rückgabe:
- string WHERE clause as string.
- Siehe auch:
- explodeWhereClause()
| t3lib_sqlparser::debug_parseSQLpart |
( |
$ |
part, |
|
|
$ |
str | |
|
) |
| | |
Check parsability of input SQL part string; Will parse and re-compile after which it is compared
- Parameter:
-
| 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 |
- Rückgabe:
- 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.
- Parameter:
-
| string | SQL String 1 |
| string | SQL string 2 |
| boolean | If true, the strings are compared insensitive to case |
- Rückgabe:
- 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
- Parameter:
-
- Rückgabe:
- string Query if all is well, otherwise exit.
| t3lib_sqlparser::getValue |
( |
&$ |
parseString, |
|
|
$ |
comparator = '' | |
|
) |
| | |
Finds value in beginning of $parseString, returns result and strips it of parseString
- Parameter:
-
| 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) |
- Rückgabe:
- 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
- Parameter:
-
| 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 ' |
- Rückgabe:
- string The value, passed through stripslashes() !
| 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.
- Parameter:
-
| 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! |
- Rückgabe:
- string The value of the first parenthesis level of the REGEX.
| t3lib_sqlparser::parseALTERTABLE |
( |
$ |
parseString |
) |
|
Parsing ALTER TABLE query
- Parameter:
-
| string | SQL string starting with ALTER TABLE |
- Rückgabe:
- mixed Returns array with components of ALTER TABLE query on success, otherwise an error message string.
- Siehe auch:
- compileALTERTABLE()
| t3lib_sqlparser::parseCREATEDATABASE |
( |
$ |
parseString |
) |
|
Parsing CREATE DATABASE query
- Parameter:
-
| string | SQL string starting with CREATE DATABASE |
- Rückgabe:
- mixed Returns array with components of CREATE DATABASE query on success, otherwise an error message string.
| t3lib_sqlparser::parseCREATETABLE |
( |
$ |
parseString |
) |
|
Parsing CREATE TABLE query
- Parameter:
-
| string | SQL string starting with CREATE TABLE |
- Rückgabe:
- mixed Returns array with components of CREATE TABLE query on success, otherwise an error message string.
- Siehe auch:
- compileCREATETABLE()
| t3lib_sqlparser::parseDELETE |
( |
$ |
parseString |
) |
|
Parsing DELETE query
- Parameter:
-
| string | SQL string with DELETE query to parse |
- Rückgabe:
- mixed Returns array with components of DELETE query on success, otherwise an error message string.
- Siehe auch:
- compileDELETE()
| t3lib_sqlparser::parseDROPTABLE |
( |
$ |
parseString |
) |
|
Parsing DROP TABLE query
- Parameter:
-
| string | SQL string starting with DROP TABLE |
- Rückgabe:
- mixed Returns array with components of DROP TABLE query on success, otherwise an error message string.
| t3lib_sqlparser::parseError |
( |
$ |
msg, |
|
|
$ |
restQuery | |
|
) |
| | |
Setting the internal error message value, $this->parse_error and returns that value.
- Parameter:
-
| string | Input error message |
| string | Remaining query to parse. |
- Rückgabe:
- string Error message.
| t3lib_sqlparser::parseEXPLAIN |
( |
$ |
parseString |
) |
|
Parsing EXPLAIN query
- Parameter:
-
| string | SQL string with EXPLAIN query to parse |
- Rückgabe:
- mixed Returns array with components of EXPLAIN query on success, otherwise an error message string.
- Siehe auch:
- parseSELECT()
| 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.
- Parameter:
-
| string | WHERE clause to parse. NOTICE: passed by reference! |
| string | Regular expressing to STOP parsing, eg. '^(GROUP BY|ORDER BY|LIMIT)([[:space:]]*)' |
- Rückgabe:
- mixed If successful parsing, returns an array, otherwise an error 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!
- Parameter:
-
| 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:]]*)' |
- Rückgabe:
- array If successful parsing, returns an array, otherwise an error string.
- Siehe auch:
- 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.
- Parameter:
-
| 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:]]*)' |
- Rückgabe:
- array If successful parsing, returns an array, otherwise an error string.
- Siehe auch:
- compileFromTables()
| t3lib_sqlparser::parseINSERT |
( |
$ |
parseString |
) |
|
Parsing INSERT query
- Parameter:
-
| string | SQL string with INSERT query to parse |
- Rückgabe:
- mixed Returns array with components of INSERT query on success, otherwise an error message string.
- Siehe auch:
- compileINSERT()
| t3lib_sqlparser::parseSELECT |
( |
$ |
parseString |
) |
|
Parsing SELECT query
- Parameter:
-
| string | SQL string with SELECT query to parse |
- Rückgabe:
- mixed Returns array with components of SELECT query on success, otherwise an error message string.
- Siehe auch:
- compileSELECT()
| t3lib_sqlparser::parseSQL |
( |
$ |
parseString |
) |
|
Parses any single SQL query
- Parameter:
-
- Rückgabe:
- array Result array with all the parts in - or error message string
- Siehe auch:
- compileSQL(), debug_testSQL()
| 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
- Parameter:
-
- Rückgabe:
- string Output string
| t3lib_sqlparser::parseUPDATE |
( |
$ |
parseString |
) |
|
Parsing UPDATE query
- Parameter:
-
| string | SQL string with UPDATE query to parse |
- Rückgabe:
- mixed Returns array with components of UPDATE query on success, otherwise an error message string.
- Siehe auch:
- compileUPDATE()
| 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.
- Parameter:
-
| string | WHERE clause to parse. NOTICE: passed by reference! |
| string | Regular expressing to STOP parsing, eg. '^(GROUP BY|ORDER BY|LIMIT)([[:space:]]*)' |
- Rückgabe:
- mixed If successful parsing, returns an array, otherwise an error string.
| 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
- Parameter:
-
- Rückgabe:
- string Output string
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
- /srv/www/vhosts/typo3.local/typo3_src-4.2.10/t3lib/class.t3lib_sqlparser.php