Editor PHP 2.2.2

SqlserverQuery extends Query
in package

SQL Server driver for DataTables Database Query class.

@internal

Table of Contents

$_identifier_limiter  : mixed
$_supportsAsAlias  : mixed
$_whereInCnt  : mixed
__construct()  : mixed
Query instance constructor.
and_where()  : self
Add addition where conditions to the query with an AND operator. An alias of `where` for naming consistency.
bind()  : Query
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()  : Query
Database connection - override by the database driver.
database()  : Database
Get the Database host for this query instance.
distinct()  : Query
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()  : self
Get fields.
group_by()  : self
Group the results by the values in a field.
join()  : self
Perform a JOIN operation.
left_join()  : mixed
Add a left join, with common logic for handling binding or not.
limit()  : self
Limit the result set to a certain size.
offset()  : self
Offset the return set by a given number of records (useful for paging).
or_where()  : self
Add addition where conditions to the query with an OR operator.
order()  : self
Order by.
pkey()  : Query|array<string|int, string>
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()  : self
Set fields to a given value.
table()  : self
Set table(s) to perform the query on.
transaction()  : mixed
Start a database transaction.
where()  : self
Where query - multiple conditions are bound as ANDs.
where_group()  : self
Provide grouping for WHERE conditions. Use it with a callback function to automatically group any conditions applied inside the method.
where_in()  : self
Provide a method that can be used to perform a `WHERE ... IN (...)` query with bound values and parameters.
_build_limit()  : mixed
_escape_field()  : mixed
Escape quotes in a field identifier.
_exec()  : mixed
_prepare()  : mixed

Properties

$_identifier_limiter

protected mixed $_identifier_limiter = array('[', ']')

$_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 \DataTables\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().

Return values
mixed

and_where()

Add addition where conditions to the query with an AND operator. An alias of `where` for naming consistency.

public and_where(string|array<string|int, string>|callable $key[, string|array<string|int, string> $value = null ][, string $op = '=' ][, bool $bind = true ]) : self

Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( array('fieldName', ...), array('value', ...) );

Parameters
$key : string|array<string|int, string>|callable

Single field name, or an array of field names. If given as a function (i.e. a closure), the function is called, passing the query itself in as the only parameter, so the function can add extra conditions with parentheses around the additional parameters.

$value : string|array<string|int, string> = null

Single field value, or an array of values. Can be null to search for IS NULL or IS NOT NULL (depending on the value of $op which should be = or !=.

$op : string = '='

Condition operator: <, >, = etc

$bind : bool = true

Escape the value (true, default) or not (false).

Return values
self

bind()

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 ]) : Query
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
Query

commit()

Commit a transaction.

public static commit(PDO $dbh) : mixed
Parameters
$dbh : PDO

The Database handle (typically a PDO object, but not always).

Return values
mixed

connect()

Database connection - override by the database driver.

public static connect(mixed $user[, mixed $pass = '' ][, mixed $host = '' ][, mixed $port = '' ][, mixed $db = '' ][, mixed $dsn = '' ]) : Query
Parameters
$user : mixed

User name or all parameters in an array

$pass : mixed = ''

Password

$host : mixed = ''

Host name

$port : mixed = ''
$db : mixed = ''

Database name

$dsn : mixed = ''
Return values
Query

database()

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) : Query
Parameters
$dis : bool

Optional

Return values
Query

exec()

Execute the query.

public exec([string $sql = null ]) : Result
Parameters
$sql : string = null

SQL string to execute (only if _type is 'raw').

Return values
Result

get()

Get fields.

public get(string|array<string|int, string> ...$get) : self
Parameters
$get : string|array<string|int, string>

Fields to get - can be specified as individual fields or an array of fields.

Return values
self

group_by()

Group the results by the values in a field.

public group_by(string $group_by) : self
Parameters
$group_by : string

The field of which the values are to be grouped

Return values
self

join()

Perform a JOIN operation.

public join(string $table, string $condition[, string $type = '' ][, mixed $bind = true ]) : self
Parameters
$table : string

Table name to do the JOIN on

$condition : string

JOIN condition

$type : string = ''

JOIN type

$bind : mixed = true
Return values
self

left_join()

Add a left join, with common logic for handling binding or not.

public left_join(mixed $joins) : mixed
Parameters
$joins : mixed
Return values
mixed

limit()

Limit the result set to a certain size.

public limit(int $lim) : self
Parameters
$lim : int

The number of records to limit the result to.

Return values
self

offset()

Offset the return set by a given number of records (useful for paging).

public offset(int $off) : self
Parameters
$off : int

The number of records to offset the result by.

Return values
self

or_where()

Add addition where conditions to the query with an OR operator.

public or_where(string|array<string|int, string>|callable $key[, string|array<string|int, string> $value = null ][, string $op = '=' ][, bool $bind = true ]) : self

Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( array('fieldName', ...), array('value', ...) );

Parameters
$key : string|array<string|int, string>|callable

Single field name, or an array of field names. If given as a function (i.e. a closure), the function is called, passing the query itself in as the only parameter, so the function can add extra conditions with parentheses around the additional parameters.

$value : string|array<string|int, string> = null

Single field value, or an array of values. Can be null to search for IS NULL or IS NOT NULL (depending on the value of $op which should be = or !=.

$op : string = '='

Condition operator: <, >, = etc

$bind : bool = true

Escape the value (true, default) or not (false).

Return values
self

order()

Order by.

public order(string|array<string|int, string> $order) : self
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
self

pkey()

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 ]) : Query|array<string|int, string>
Parameters
$pkey : array<string|int, string> = null

Primary keys

Return values
Query|array<string|int, string>

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).

Return values
mixed

set()

Set fields to a given value.

public set(string|array<string|int, string> $set[, string $val = null ][, bool $bind = true ]) : self

Can be used in two different ways, as set( field, value ) or as an array of fields to set: set( array( '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
self

table()

Set table(s) to perform the query on.

public table(string|array<string|int, string> ...$table) : self
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
self

transaction()

Start a database transaction.

public static transaction(PDO $dbh) : mixed
Parameters
$dbh : PDO

The Database handle (typically a PDO object, but not always).

Return values
mixed

where()

Where query - multiple conditions are bound as ANDs.

public where(string|array<string|int, string>|callable $key[, string|array<string|int, string> $value = null ][, string $op = '=' ][, bool $bind = true ]) : self

Can be used in two different ways, as where( field, value ) or as an array of conditions to use: where( array('fieldName', ...), array('value', ...) );

Parameters
$key : string|array<string|int, string>|callable

Single field name, or an array of field names. If given as a function (i.e. a closure), the function is called, passing the query itself in as the only parameter, so the function can add extra conditions with parentheses around the additional parameters.

$value : string|array<string|int, string> = null

Single field value, or an array of values. Can be null to search for IS NULL or IS NOT NULL (depending on the value of $op which should be = or !=.

$op : string = '='

Condition operator: <, >, = etc

$bind : bool = true

Escape the value (true, default) or not (false).

Return values
self

@example The following will produce 'WHERE name='allan' AND ( location='Scotland' OR location='Canada' ):

  $query
    ->where( 'name', 'allan' )
    ->where( function ($q) {
      $q->where( 'location', 'Scotland' );
      $q->or_where( 'location', 'Canada' );
    } );

where_group()

Provide grouping for WHERE conditions. Use it with a callback function to automatically group any conditions applied inside the method.

public where_group(bool|callable $inOut[, string $op = 'AND' ]) : self

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 : bool|callable

If callable it will create the group automatically and pass the query into the called function. For legacy operations use true to open brackets, false to close.

$op : string = 'AND'

Conditional operator to use to join to the preceding condition. Default AND.

Return values
self

@example

$query->where_group( function ($q) {
  $q->where( 'location', 'Edinburgh' );
  $q->where( 'position', 'Manager' );
} );

where_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' ]) : self

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.

Return values
self

_build_limit()

protected _build_limit() : mixed
Return values
mixed

_escape_field()

Escape quotes in a field identifier.

protected _escape_field(mixed $field) : mixed

@internal

Parameters
$field : mixed
Return values
mixed

_prepare()

protected _prepare(mixed $sql) : mixed
Parameters
$sql : mixed
Return values
mixed

        

Search results