A dead simple PHP class for building SQL statements. No manual string concatenation necessary.
| author | Justin Stayton |
|---|---|
| copyright | Copyright 2014 by Justin Stayton |
| license | MIT |
| package | Miner |
| version | 0.10.0 |
__construct(\PDO|null $PdoConnection= null, bool $autoQuote= true) : \Miner
\PDOnulloptional PDO database connection
booloptional auto-escape values, default true
\Miner__toString() : string
stringfull SQL statementandHaving(string $column, mixed $value, string $operator= self::EQUALS, bool|null $quote= null) : \Miner
stringcolum name
mixedvalue
stringoptional comparison operator, default =
boolnulloptional auto-escape value, default to global
\MinerandWhere(string $column, mixed $value, string $operator= self::EQUALS, bool|null $quote= null) : \Miner
stringcolum name
mixedvalue
stringoptional comparison operator, default =
boolnulloptional auto-escape value, default to global
\MinerautoQuote(mixed $value, bool|null $override = null) : mixed | false
mixedvalue to escape (or not)
boolnullvalue-specific override for convenience
mixedfalsevalue (escaped or original) or false if failedcalcFoundRows() : \Miner
\MinercloseHaving() : \Miner
\MinercloseWhere() : \Miner
\Minerdelete(string|false $table = false) : \Miner
stringfalseoptional table name, default false
\Minerdistinct() : \Miner
\Minerexecute() : \PDOStatement | false
\PDOStatementfalseexecuted statement or false if failedfrom(string $table, string $alias = null) : \Miner
stringtable name
stringoptional alias
\MinergetAutoQuote(bool|null $override = null) : bool
boolnullvalue-specific override for convenience
boolgetDeleteString(bool $includeText = true) : string
booloptional include 'DELETE' text, default true
stringDELETE portion of the statementgetFrom() : string
stringFROM tablegetFromAlias() : string
stringFROM table aliasgetFromString(bool $includeText = true) : string
booloptional include 'FROM' text, default true
stringFROM portion of the statementgetGroupByString(bool $includeText = true) : string
booloptional include 'GROUP BY' text, default true
stringGROUP BY portion of the statementgetHavingPlaceholderValues() : array
arrayHAVING placeholder valuesgetHavingString(bool $usePlaceholders= true, bool $includeText= true) : string
booloptional use ? placeholders, default true
booloptional include 'HAVING' text, default true
stringHAVING portion of the statementgetInsert() : string
stringINSERT tablegetInsertString(bool $includeText = true) : string
booloptional include 'INSERT' text, default true
stringINSERT portion of the statementgetJoinString() : string
stringJOIN portion of the statementgetLimit() : int | string
intstringLIMIT on number of rows to returngetLimitOffset() : int | string
intstringLIMIT row number to start atgetLimitString(bool $includeText = true) : string
booloptional include 'LIMIT' text, default true
stringLIMIT portion of the statementgetOptionsString(bool $includeTrailingSpace = false) : string
booloptional include space after options
stringexecution options portion of the statementgetOrderByString(bool $includeText = true) : string
booloptional include 'ORDER BY' text, default true
stringORDER BY portion of the statementgetPdoConnection() : \PDO | null
\PDOnull
getPlaceholderValues() : array
arrayall placeholder valuesgetReplace() : string
stringREPLACE tablegetReplaceString(bool $includeText = true) : string
booloptional include 'REPLACE' text, default true
stringREPLACE portion of the statementgetSelectString(bool $includeText = true) : string
booloptional include 'SELECT' text, default true
stringSELECT portion of the statementgetSetPlaceholderValues() : array
arraySET placeholder valuesgetSetString(bool $usePlaceholders= true, bool $includeText= true) : string
booloptional use ? placeholders, default true
booloptional include 'SET' text, default true
stringSET portion of the statementgetStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull SQL statementgetUpdate() : string
stringUPDATE tablegetUpdateString(bool $includeText = true) : string
booloptional include 'UPDATE' text, default true
stringUPDATE portion of the statementgetWherePlaceholderValues() : array
arrayWHERE placeholder valuesgetWhereString(bool $usePlaceholders= true, bool $includeText= true) : string
booloptional use ? placeholders, default true
booloptional include 'WHERE' text, default true
stringWHERE portion of the statementgroupBy(string $column, string|null $order = null) : \Miner
stringcolumn name
stringnulloptional order direction, default none
\Minerhaving(string $column, mixed $value, string $operator= self::EQUALS, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolum name
mixedvalue
stringoptional comparison operator, default =
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerhavingBetween(string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerhavingIn(string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerhavingNotBetween(string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerhavingNotIn(string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerinnerJoin(string $table, string|array $criteria= null, string $alias= null) : \Miner
stringtable name
stringarrayoptional ON criteria
stringoptional alias
\Minerinsert(string $table) : \Miner
stringINSERT table
\MinerisDelete() : bool
boolwhether this is a DELETE statementisInsert() : bool
boolwhether this is an INSERT statementisReplace() : bool
boolwhether this is a REPLACE statementisSelect() : bool
boolwhether this is a SELECT statementisUpdate() : bool
boolwhether this is an UPDATE statementjoin(string $table, string|array $criteria= null, string $type= self::INNER_JOIN, string $alias= null) : \Miner
stringtable name
stringarrayoptional ON criteria
stringoptional type of join, default INNER JOIN
stringoptional alias
\MinerleftJoin(string $table, string|array $criteria= null, string $alias= null) : \Miner
stringtable name
stringarrayoptional ON criteria
stringoptional alias
\Minerlimit(int|string $limit, int|string $offset = 0) : \Miner
intstringnumber of rows to return
intstringoptional row number to start at, default 0
\MinermergeDeleteInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeFromInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeGroupByInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeHavingInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeInsertInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeInto(\Miner $Miner, bool $overrideLimit = true) : \Miner
\Minerto merge into
booloptional override limit, default true
\MinermergeJoinInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeLimitInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeOptionsInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeOrderByInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeReplaceInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeSelectInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeSetInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeUpdateInto(\Miner $Miner) : \Miner
\Minerto merge into
\MinermergeWhereInto(\Miner $Miner) : \Miner
\Minerto merge into
\MineropenHaving(string $connector = self::LOGICAL_AND) : \Miner
stringoptional logical connector, default AND
\MineropenWhere(string $connector = self::LOGICAL_AND) : \Miner
stringoptional logical connector, default AND
\Mineroption(string $option) : \Miner
stringexecution option to add
\MinerorHaving(string $column, mixed $value, string $operator= self::EQUALS, bool|null $quote= null) : \Miner
stringcolum name
mixedvalue
stringoptional comparison operator, default =
boolnulloptional auto-escape value, default to global
\MinerorWhere(string $column, mixed $value, string $operator= self::EQUALS, bool|null $quote= null) : \Miner
stringcolum name
mixedvalue
stringoptional comparison operator, default =
boolnulloptional auto-escape value, default to global
\MinerorderBy(string $column, string $order = self::ORDER_BY_ASC) : \Miner
stringcolumn name
stringoptional order direction, default ASC
\Minerquote(mixed $value) : mixed | false
mixedvalue to escape
mixedfalseescaped value or false if failedreplace(string $table) : \Miner
stringREPLACE table
\MinerrightJoin(string $table, string|array $criteria= null, string $alias= null) : \Miner
stringtable name
stringarrayoptional ON criteria
stringoptional alias
\Minerselect(string $column, string $alias = null) : \Miner
stringcolumn name, table name, or expression
stringoptional alias
\Minerset(string|array $column, mixed|null $value= null, bool|null $quote= null) : \Miner
stringarraycolumn name or array of columns => values
mixednulloptional value for single column
boolnulloptional auto-escape value, default to global
\MinersetAutoQuote(bool|null $autoQuote) : \Miner
boolnullwhether to automatically escape values
\MinersetPdoConnection(\PDO|null $PdoConnection = null) : \Miner
\PDOnulloptional PDO database connection
\Minerupdate(string $table) : \Miner
stringUPDATE table
\Minervalues(array $values) : \Miner
arraycolumns => values
\Minerwhere(string $column, mixed $value, string $operator= self::EQUALS, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
mixedvalue
stringoptional comparison operator, default =
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerwhereBetween(string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerwhereIn(string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerwhereNotBetween(string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinerwhereNotIn(string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinercloseCriteria(array $criteria) : \Miner
arrayWHERE or HAVING criteria
\Minercriteria(array $criteria, string $column, mixed $value, string $operator= self::EQUALS, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
mixedvalue
stringoptional comparison operator, default =
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinercriteriaBetween(array $criteria, string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinercriteriaIn(array $criteria, string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinercriteriaNotBetween(array $criteria, string $column, mixed $min, mixed $max, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
mixedminimum value
mixedmaximum value
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinercriteriaNotIn(array $criteria, string $column, array $values, string $connector= self::LOGICAL_AND, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
arrayvalues
stringoptional logical connector, default AND
boolnulloptional auto-escape value, default to global
\MinergetCriteriaString(array $criteria, bool $usePlaceholders= true, array $placeholderValues= array()) : string
arrayWHERE or HAVING criteria
booloptional use ? placeholders, default true
arrayoptional placeholder values array
stringWHERE or HAVING portion of the statementgetDeleteStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull DELETE statementgetInsertStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull INSERT statementgetJoinCriteriaUsingPreviousTable(int $joinIndex, string $table, string $column) : string
intindex of current join
stringcurrent table name
stringcurrent column name
stringON join criteriagetReplaceStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull REPLACE statementgetSelectStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull SELECT statementgetUpdateStatement(bool $usePlaceholders = true) : string
booloptional use ? placeholders, default true
stringfull UPDATE statementisDeleteTableFrom() : bool
boolwhether the delete table is FROMisJoinUnique(string $table, string $alias) : bool
stringtable name
stringtable alias
boolwhether the join table and alias is uniqueopenCriteria(array $criteria, string $connector = self::LOGICAL_AND) : \Miner
arrayWHERE or HAVING criteria
stringoptional logical connector, default AND
\MinerorCriteria(array $criteria, string $column, mixed $value, string $operator= self::EQUALS, bool|null $quote= null) : \Miner
arrayWHERE or HAVING criteria
stringcolumn name
mixedvalue
stringoptional comparison operator, default =
boolnulloptional auto-escape value, default to global
\Miner$PdoConnection : \PDO | null
$autoQuote : bool | null
$delete : array | true
$from : array
$groupBy : array
$having : array
$havingPlaceholderValues : array
$insert : string
$join : array
$limit : array
$option : array
$orderBy : array
$replace : string
$select : array
$set : array
$setPlaceholderValues : array
$update : string
$where : array
$wherePlaceholderValues : array
BETWEEN = "BETWEEN"
BRACKET_CLOSE = ")"
BRACKET_OPEN = "("
EQUALS = "="
GREATER_THAN = ">"
GREATER_THAN_OR_EQUAL = ">="
ILIKE = "ILIKE"
IN = "IN"
INNER_JOIN = "INNER JOIN"
IS = "IS"
IS_NOT = "IS NOT"
LEFT_JOIN = "LEFT JOIN"
LESS_THAN = "<"
LESS_THAN_OR_EQUAL = "<="
LIKE = "LIKE"
LOGICAL_AND = "AND"
LOGICAL_OR = "OR"
NOT_BETWEEN = "NOT BETWEEN"
NOT_EQUALS = "!="
NOT_IN = "NOT IN"
NOT_LIKE = "NOT LIKE"
NOT_REGEX = "NOT REGEXP"
ORDER_BY_ASC = "ASC"
ORDER_BY_DESC = "DESC"
REGEX = "REGEXP"
RIGHT_JOIN = "RIGHT JOIN"