Query
    
            
            in package
            
        
    
    
    
Perform an individual query on the database.
The typical pattern for using this class is through the Database->query() method (and it's 'select', etc short-cuts). Typically it would not be initialised directly.
Note that this is a stub class that a driver will extend and complete as required for individual database types. Individual drivers could add additional methods, but this is discouraged to ensure that the API is the same for all database types.
Table of Contents
Properties
- $_supportsAsAlias : mixed
- $_whereInCnt : mixed
Methods
- __construct() : mixed
- Query instance constructor.
- and_where() : $this
- Add addition where conditions to the query with an AND operator. An alias of `where` for naming consistency.
- bind() : $this
- Safely bind an input value to a parameter. This is evaluated when the query is executed. This allows user input to be safely executed without risk of an SQL injection attack.
- commit() : mixed
- Commit a transaction.
- connect() : PDO
- Database connection - override by the database driver.
- database() : Database
- Get the Database host for this query instance.
- distinct() : $this
- Set a distinct flag for a `select` query. Note that this has no effect on any of the other query types.
- exec() : Result
- Execute the query.
- get() : $this
- Get fields.
- group_by() : $this
- Group the results by the values in a field.
- join() : $this
- Perform a JOIN operation.
- left_join() : $this
- Add a left join, with common logic for handling binding or not.
- limit() : $this
- Limit the result set to a certain size.
- offset() : $this
- Offset the return set by a given number of records (useful for paging).
- or_where() : $this
- Add addition where conditions to the query with an OR operator.
- order() : $this
- Order by.
- pkey() : mixed
- Get / set the primary key column name(s) so they can be easily returned after an insert.
- rollback() : mixed
- Rollback the database state to the start of the transaction.
- set() : $this
- Set fields to a given value.
- table() : $this
- Set table(s) to perform the query on.
- transaction() : mixed
- Start a database transaction.
- where() : $this
- Where query - multiple conditions are bound as ANDs.
- where_group() : $this
- Provide grouping for WHERE conditions. Use it with a callback function to automatically group any conditions applied inside the method.
- where_in() : $this
- Provide a method that can be used to perform a `WHERE ... IN (...)` query with bound values and parameters.
Properties
$_supportsAsAlias
    protected
        mixed
    $_supportsAsAlias
     = true
    
    
    
$_whereInCnt
    protected
        mixed
    $_whereInCnt
     = 1
    
    
    
Methods
__construct()
Query instance constructor.
    public
                    __construct(Database $dbHost, string $type[, string|array<string|int, string> $table = null ]) : mixed
    Note that typically instances of this class will be automatically created through the Database->query() method.
Parameters
- $dbHost : Database
- 
                    Database instance 
- $type : string
- 
                    Query type - 'select', 'insert', 'update' or 'delete' 
- $table : string|array<string|int, string> = null
- 
                    Tables to operate on - see Query->table(). 
and_where()
Add addition where conditions to the query with an AND operator. An alias of `where` for naming consistency.
    public
                    and_where(mixed $key[, string|int|array<string|int, string>|array<string|int, int> $value = null ][, string $op = '=' ][, bool $bind = true ]) : $this
    Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( ['fieldName', ...], ['value', ...] );
Parameters
- $key : mixed
- $value : string|int|array<string|int, string>|array<string|int, int> = null
- 
                    Single field value, or an array of values. Can be null to search for IS NULLorIS NOT NULL(depending on the value of$opwhich should be=or!=.
- $op : string = '='
- 
                    Condition operator: <, >, = etc 
- $bind : bool = true
- 
                    Escape the value (true, default) or not (false). 
Return values
$thisbind()
Safely bind an input value to a parameter. This is evaluated when the query is executed. This allows user input to be safely executed without risk of an SQL injection attack.
    public
                    bind(string $name, string $value[, mixed $type = null ]) : $this
    Parameters
- $name : string
- 
                    Parameter name. This should include a leading colon 
- $value : string
- 
                    Value to bind 
- $type : mixed = null
- 
                    Data type. See the PHP PDO documentation: http://php.net/manual/en/pdo.constants.php 
Return values
$thiscommit()
Commit a transaction.
    public
            static        commit(PDO $dbh) : mixed
    Parameters
- $dbh : PDO
- 
                    The Database handle (typically a PDO object, but not always). 
connect()
Database connection - override by the database driver.
    public
            static        connect(string|array<string|int, mixed> $user[, string $pass = '' ][, string $host = '' ][, mixed $port = '' ][, string $db = '' ][, mixed $dsn = '' ]) : PDO
    Parameters
- $user : string|array<string|int, mixed>
- 
                    User name or all parameters in an array 
- $pass : string = ''
- 
                    Password 
- $host : string = ''
- 
                    Host name 
- $port : mixed = ''
- $db : string = ''
- 
                    Database name 
- $dsn : mixed = ''
Return values
PDOdatabase()
Get the Database host for this query instance.
    public
                    database() : Database
    Return values
Database —Database class instance
distinct()
Set a distinct flag for a `select` query. Note that this has no effect on any of the other query types.
    public
                    distinct(bool $dis) : $this
    Parameters
- $dis : bool
- 
                    Optional 
Return values
$thisexec()
Execute the query.
    public
                    exec([string $sql = null ]) : Result
    Parameters
- $sql : string = null
- 
                    SQL string to execute (only if _type is 'raw'). 
Return values
Resultget()
Get fields.
    public
                    get(string|array<string|int, string> $get) : $this
    Parameters
- $get : string|array<string|int, string>
- 
                    Fields to get - can be specified as individual fields or an array of fields. 
Return values
$thisgroup_by()
Group the results by the values in a field.
    public
                    group_by(string $group_by) : $this
    Parameters
- $group_by : string
- 
                    The field of which the values are to be grouped 
Return values
$thisjoin()
Perform a JOIN operation.
    public
                    join(string $table, string $condition[, string $type = '' ][, mixed $bind = true ]) : $this
    Parameters
- $table : string
- 
                    Table name to do the JOIN on 
- $condition : string
- 
                    JOIN condition 
- $type : string = ''
- 
                    JOIN type 
- $bind : mixed = true
Return values
$thisleft_join()
Add a left join, with common logic for handling binding or not.
    public
                    left_join(mixed $joins) : $this
    Parameters
- $joins : mixed
Return values
$thislimit()
Limit the result set to a certain size.
    public
                    limit(int $lim) : $this
    Parameters
- $lim : int
- 
                    The number of records to limit the result to. 
Return values
$thisoffset()
Offset the return set by a given number of records (useful for paging).
    public
                    offset(int $off) : $this
    Parameters
- $off : int
- 
                    The number of records to offset the result by. 
Return values
$thisor_where()
Add addition where conditions to the query with an OR operator.
    public
                    or_where(mixed $key[, string|int|array<string|int, string>|array<string|int, int> $value = null ][, string $op = '=' ][, bool $bind = true ]) : $this
    Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( ['fieldName', ...], ['value', ...] );
Parameters
- $key : mixed
- $value : string|int|array<string|int, string>|array<string|int, int> = null
- 
                    Single field value, or an array of values. Can be null to search for IS NULLorIS NOT NULL(depending on the value of$opwhich should be=or!=.
- $op : string = '='
- 
                    Condition operator: <, >, = etc 
- $bind : bool = true
- 
                    Escape the value (true, default) or not (false). 
Return values
$thisorder()
Order by.
    public
                    order(string|array<string|int, string> $order) : $this
    Parameters
- $order : string|array<string|int, string>
- 
                    Columns and direction to order by - can be specified as individual names, an array of names, a string of comma separated names or any combination of those. 
Return values
$thispkey()
Get / set the primary key column name(s) so they can be easily returned after an insert.
    public
                    pkey([array<string|int, string> $pkey = null ]) : mixed
    Parameters
- $pkey : array<string|int, string> = null
- 
                    Primary keys 
rollback()
Rollback the database state to the start of the transaction.
    public
            static        rollback(PDO $dbh) : mixed
    Parameters
- $dbh : PDO
- 
                    The Database handle (typically a PDO object, but not always). 
set()
Set fields to a given value.
    public
                    set(string|array<string|int, string> $set[, string $val = null ][, bool $bind = true ]) : $this
    Can be used in two different ways, as set( field, value ) or as an array of fields to set: set( [ 'fieldName' => 'value', ...] );
Parameters
- $set : string|array<string|int, string>
- 
                    Can be given as a single string, when then $val must be set, or as an array of key/value pairs to be set. 
- $val : string = null
- 
                    When $set is given as a simple string, $set is the field name and this is the field's value. 
- $bind : bool = true
- 
                    Should the value be bound or not 
Return values
$thistable()
Set table(s) to perform the query on.
    public
                    table(string|array<string|int, string> $table) : $this
    Parameters
- $table : string|array<string|int, string>
- 
                    Table(s) to use - can be specified as individual names, an array of names, a string of comma separated names or any combination of those. 
Return values
$thistransaction()
Start a database transaction.
    public
            static        transaction(PDO $dbh) : mixed
    Parameters
- $dbh : PDO
- 
                    The Database handle (typically a PDO object, but not always). 
where()
Where query - multiple conditions are bound as ANDs.
    public
                    where(mixed $key[, string|int|array<string|int, string>|array<string|int, int> $value = null ][, string $op = '=' ][, bool $bind = true ]) : $this
    Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( ['fieldName', ...], ['value', ...] );
Parameters
- $key : mixed
- $value : string|int|array<string|int, string>|array<string|int, int> = null
- 
                    Single field value, or an array of values. Can be null to search for IS NULLorIS NOT NULL(depending on the value of$opwhich should be=or!=.
- $op : string = '='
- 
                    Condition operator: <, >, = etc 
- $bind : bool = true
- 
                    Escape the value (true, default) or not (false). 
Tags
Return values
$thiswhere_group()
Provide grouping for WHERE conditions. Use it with a callback function to automatically group any conditions applied inside the method.
    public
                    where_group(mixed $inOut[, string $op = 'AND' ]) : $this
    For legacy reasons this method also provides the ability to explicitly define if a grouping bracket should be opened or closed in the query. This method is not prefer.
Parameters
- $inOut : mixed
- $op : string = 'AND'
- 
                    Conditional operator to use to join to the preceding condition. Default AND.
Tags
Return values
$thiswhere_in()
Provide a method that can be used to perform a `WHERE ... IN (...)` query with bound values and parameters.
    public
                    where_in(string $field, array<string|int, mixed> $arr[, string $operator = 'AND' ]) : $this
    Note this is only suitable for local values, not a sub-query. For that use
->where() with an unbound value.
Parameters
- $field : string
- 
                    Field name 
- $arr : array<string|int, mixed>
- 
                    Values 
- $operator : string = 'AND'
- 
                    Conditional operator to use to join to the preceding condition. Default AND.