com\setasign\SetaFramework\Database\Driver

Sqlsrv Class Sqlsrv

File: /SetaFramework/src/Database/Driver/Sqlsrv.php

Class hierarchy

Implements

Summary

Constants

Constants

ATTR_AUTOCOMMIT

public const \PDO::ATTR_AUTOCOMMIT = 0

ATTR_CASE

public const \PDO::ATTR_CASE = 8

ATTR_CLIENT_VERSION

public const \PDO::ATTR_CLIENT_VERSION = 5

ATTR_CONNECTION_STATUS

public const \PDO::ATTR_CONNECTION_STATUS = 7

ATTR_CURSOR

public const \PDO::ATTR_CURSOR = 10

ATTR_CURSOR_NAME

public const \PDO::ATTR_CURSOR_NAME = 9

ATTR_DEFAULT_FETCH_MODE

public const \PDO::ATTR_DEFAULT_FETCH_MODE = 19

ATTR_DEFAULT_STR_PARAM

public const \PDO::ATTR_DEFAULT_STR_PARAM = 21

ATTR_DRIVER_NAME

public const \PDO::ATTR_DRIVER_NAME = 16

ATTR_EMULATE_PREPARES

public const \PDO::ATTR_EMULATE_PREPARES = 20

ATTR_ERRMODE

public const \PDO::ATTR_ERRMODE = 3

ATTR_FETCH_CATALOG_NAMES

public const \PDO::ATTR_FETCH_CATALOG_NAMES = 15

ATTR_FETCH_TABLE_NAMES

public const \PDO::ATTR_FETCH_TABLE_NAMES = 14

ATTR_MAX_COLUMN_LEN

public const \PDO::ATTR_MAX_COLUMN_LEN = 18

ATTR_ORACLE_NULLS

public const \PDO::ATTR_ORACLE_NULLS = 11

ATTR_PERSISTENT

public const \PDO::ATTR_PERSISTENT = 12

ATTR_PREFETCH

public const \PDO::ATTR_PREFETCH = 1

ATTR_SERVER_INFO

public const \PDO::ATTR_SERVER_INFO = 6

ATTR_SERVER_VERSION

public const \PDO::ATTR_SERVER_VERSION = 4

ATTR_STATEMENT_CLASS

public const \PDO::ATTR_STATEMENT_CLASS = 13

ATTR_STRINGIFY_FETCHES

public const \PDO::ATTR_STRINGIFY_FETCHES = 17

ATTR_TIMEOUT

public const \PDO::ATTR_TIMEOUT = 2

CASE_LOWER

public const \PDO::CASE_LOWER = 2

CASE_NATURAL

public const \PDO::CASE_NATURAL = 0

CASE_UPPER

public const \PDO::CASE_UPPER = 1

CURSOR_FWDONLY

public const \PDO::CURSOR_FWDONLY = 0

CURSOR_SCROLL

public const \PDO::CURSOR_SCROLL = 1

ERRMODE_EXCEPTION

public const \PDO::ERRMODE_EXCEPTION = 2

ERRMODE_SILENT

public const \PDO::ERRMODE_SILENT = 0

ERRMODE_WARNING

public const \PDO::ERRMODE_WARNING = 1

ERR_NONE

public const \PDO::ERR_NONE = '00000'

FETCH_ASSOC

public const \PDO::FETCH_ASSOC = 2

FETCH_BOTH

public const \PDO::FETCH_BOTH = 4

FETCH_BOUND

public const \PDO::FETCH_BOUND = 6

FETCH_CLASS

public const \PDO::FETCH_CLASS = 8

FETCH_CLASSTYPE

public const \PDO::FETCH_CLASSTYPE = 262144

FETCH_COLUMN

public const \PDO::FETCH_COLUMN = 7

FETCH_DEFAULT

public const \PDO::FETCH_DEFAULT = 0

FETCH_FUNC

public const \PDO::FETCH_FUNC = 10

FETCH_GROUP

public const \PDO::FETCH_GROUP = 65536

FETCH_INTO

public const \PDO::FETCH_INTO = 9

FETCH_KEY_PAIR

public const \PDO::FETCH_KEY_PAIR = 12

FETCH_LAZY

public const \PDO::FETCH_LAZY = 1

FETCH_NAMED

public const \PDO::FETCH_NAMED = 11

FETCH_NUM

public const \PDO::FETCH_NUM = 3

FETCH_OBJ

public const \PDO::FETCH_OBJ = 5

FETCH_ORI_ABS

public const \PDO::FETCH_ORI_ABS = 4

FETCH_ORI_FIRST

public const \PDO::FETCH_ORI_FIRST = 2

FETCH_ORI_LAST

public const \PDO::FETCH_ORI_LAST = 3

FETCH_ORI_NEXT

public const \PDO::FETCH_ORI_NEXT = 0

FETCH_ORI_PRIOR

public const \PDO::FETCH_ORI_PRIOR = 1

FETCH_ORI_REL

public const \PDO::FETCH_ORI_REL = 5

FETCH_PROPS_LATE

public const \PDO::FETCH_PROPS_LATE = 1048576

FETCH_SERIALIZE

public const \PDO::FETCH_SERIALIZE = 524288

FETCH_UNIQUE

public const \PDO::FETCH_UNIQUE = 196608

MYSQL_ATTR_COMPRESS

public const \PDO::MYSQL_ATTR_COMPRESS = 1003

MYSQL_ATTR_DIRECT_QUERY

public const \PDO::MYSQL_ATTR_DIRECT_QUERY = 1004

MYSQL_ATTR_FOUND_ROWS

public const \PDO::MYSQL_ATTR_FOUND_ROWS = 1005

MYSQL_ATTR_IGNORE_SPACE

public const \PDO::MYSQL_ATTR_IGNORE_SPACE = 1006

MYSQL_ATTR_INIT_COMMAND

public const \PDO::MYSQL_ATTR_INIT_COMMAND = 1002

MYSQL_ATTR_LOCAL_INFILE

public const \PDO::MYSQL_ATTR_LOCAL_INFILE = 1001

MYSQL_ATTR_LOCAL_INFILE_DIRECTORY

MYSQL_ATTR_MULTI_STATEMENTS

public const \PDO::MYSQL_ATTR_MULTI_STATEMENTS = 1013

MYSQL_ATTR_SERVER_PUBLIC_KEY

public const \PDO::MYSQL_ATTR_SERVER_PUBLIC_KEY = 1012

MYSQL_ATTR_SSL_CA

public const \PDO::MYSQL_ATTR_SSL_CA = 1009

MYSQL_ATTR_SSL_CAPATH

public const \PDO::MYSQL_ATTR_SSL_CAPATH = 1010

MYSQL_ATTR_SSL_CERT

public const \PDO::MYSQL_ATTR_SSL_CERT = 1008

MYSQL_ATTR_SSL_CIPHER

public const \PDO::MYSQL_ATTR_SSL_CIPHER = 1011

MYSQL_ATTR_SSL_KEY

public const \PDO::MYSQL_ATTR_SSL_KEY = 1007

MYSQL_ATTR_SSL_VERIFY_SERVER_CERT

MYSQL_ATTR_USE_BUFFERED_QUERY

public const \PDO::MYSQL_ATTR_USE_BUFFERED_QUERY = 1000

NULL_EMPTY_STRING

public const \PDO::NULL_EMPTY_STRING = 1

NULL_NATURAL

public const \PDO::NULL_NATURAL = 0

NULL_TO_STRING

public const \PDO::NULL_TO_STRING = 2

PARAM_BOOL

public const \PDO::PARAM_BOOL = 5

PARAM_EVT_ALLOC

public const \PDO::PARAM_EVT_ALLOC = 0

PARAM_EVT_EXEC_POST

public const \PDO::PARAM_EVT_EXEC_POST = 3

PARAM_EVT_EXEC_PRE

public const \PDO::PARAM_EVT_EXEC_PRE = 2

PARAM_EVT_FETCH_POST

public const \PDO::PARAM_EVT_FETCH_POST = 5

PARAM_EVT_FETCH_PRE

public const \PDO::PARAM_EVT_FETCH_PRE = 4

PARAM_EVT_FREE

public const \PDO::PARAM_EVT_FREE = 1

PARAM_EVT_NORMALIZE

public const \PDO::PARAM_EVT_NORMALIZE = 6

PARAM_INPUT_OUTPUT

public const \PDO::PARAM_INPUT_OUTPUT = 2147483648

PARAM_INT

public const \PDO::PARAM_INT = 1

PARAM_LOB

public const \PDO::PARAM_LOB = 3

PARAM_NULL

public const \PDO::PARAM_NULL = 0

PARAM_STMT

public const \PDO::PARAM_STMT = 4

PARAM_STR

public const \PDO::PARAM_STR = 2

PARAM_STR_CHAR

public const \PDO::PARAM_STR_CHAR = 536870912

PARAM_STR_NATL

public const \PDO::PARAM_STR_NATL = 1073741824

SQLITE_ATTR_EXTENDED_RESULT_CODES

SQLITE_ATTR_OPEN_FLAGS

public const \PDO::SQLITE_ATTR_OPEN_FLAGS = 1000

SQLITE_ATTR_READONLY_STATEMENT

SQLITE_DETERMINISTIC

public const \PDO::SQLITE_DETERMINISTIC = 2048

SQLITE_OPEN_CREATE

public const \PDO::SQLITE_OPEN_CREATE = 4

SQLITE_OPEN_READONLY

public const \PDO::SQLITE_OPEN_READONLY = 1

SQLITE_OPEN_READWRITE

public const \PDO::SQLITE_OPEN_READWRITE = 2

Properties

$logger

protected ?\Psr\Log\LoggerInterface \com\setasign\SetaFramework\Database\Database::$logger

Static Methods

connect()

Internal PHP method: PDO::connect

factory()

public static \com\setasign\SetaFramework\Database\Database::factory (
array|\com\setasign\SetaFramework\Config\Config|string $dsnOrConfig,
string $username = '',
string $password = '',
array $options = array ( )
): \com\setasign\SetaFramework\Database\Database

Factory method to create an instance of the database.

Parameters
$dsnOrConfig : array|\com\setasign\SetaFramework\Config\Config|string
 
$username : string
 
$password : string
 
$options : array
 
Exceptions

Throws \com\setasign\SetaFramework\Database\ConnectionException

getAvailableDrivers()

Internal PHP method: PDO::getAvailableDrivers


Methods

__construct()

public Sqlsrv::__construct (
string|\com\setasign\SetaFramework\Config\Config $dsnOrConfig,
string $username = '',
string $password = '',
array|\com\setasign\SetaFramework\Config\Config $options = array ( )
)

The Constructor

The first parameter accepts a Config instance which require at least the "driver" and "dns" key. Optional configurations are "username", "password" and "options" (array).


For example:

db.driver = mysql
db.username = myUsername
db.password = myPassword

db.dsn.host = localhost
db.dsn.port = 3306
db.dsn.dbname = test
Parameters
$dsnOrConfig : string|\com\setasign\SetaFramework\Config\Config
 
$username : string
 
$password : string
 
$options : array|\com\setasign\SetaFramework\Config\Config
 

__debugInfo()

__toString()

beginTransaction()

commit()

errorCode()

Internal PHP method: PDO::errorCode

errorInfo()

Internal PHP method: PDO::errorInfo

executeQuery()

Executes the query.

Parameters
$sql : string|\com\setasign\SetaFramework\Database\SqlInterface
 
$inputParameters : mixed
 
Exceptions

Throws \PDOException

getAttribute()

Internal PHP method: PDO::getAttribute

getColumnsAndPk()

public Sqlsrv::getColumnsAndPk (
string $tablename
): array

Returns an array with key columns and key pk, both entrys are arrays

Parameters
$tablename : string
 
Exceptions

Throws \BadMethodCallException

getTransactionId()

Returns the internal id of the actual transaction.

Note: the transaction id only exists to check whether a transaction is still active to recognize whether a db lock still exists.

inTransaction()

Internal PHP method: PDO::inTransaction

lastInsertId()

Internal PHP method: PDO::lastInsertId

queryAll()

public \com\setasign\SetaFramework\Database\Database::queryAll (
string|\com\setasign\SetaFramework\Database\SqlInterface $sql,
mixed $inputParameters = null,
?string $indexField = null,
?string $groupBy = null
): array

Returns an associative array with all data received by the query

Parameters
$sql : string|\com\setasign\SetaFramework\Database\SqlInterface
 
$inputParameters : mixed
 
$indexField : ?string
 
$groupBy : ?string
 
Exceptions

Throws \PDOException

queryAllAsGenerator()

queryColumn()

Returns a specific column by the given query

Parameters
$sql : string|\com\setasign\SetaFramework\Database\Query\AbstractQuery|\com\setasign\SetaFramework\Database\Query\Insert
 
$index : int
 
$inputParameters : mixed
 
Exceptions

Throws \PDOException

queryOne()

Returns the first column in the first row received by the query

Parameters
$sql : string|\com\setasign\SetaFramework\Database\SqlInterface
 
$inputParameters : mixed
 
Exceptions

Throws \PDOException

queryRow()

public \com\setasign\SetaFramework\Database\Database::queryRow (
string|\com\setasign\SetaFramework\Database\SqlInterface $sql,
mixed $inputParameters = null
): array|bool

Returns the first received row by the query

Parameters
$sql : string|\com\setasign\SetaFramework\Database\SqlInterface
 
$inputParameters : mixed
 
Exceptions

Throws \PDOException

quote()

public \com\setasign\SetaFramework\Database\Database::quote (
mixed $value,
int $parameterType = \PDO::PARAM_STR
): string

Quotes a string for use in a query.

This method supports Database\Expressions and null-values which will get not quoted.

Furthermore, it supports quoting of arrays. The result will be a comma separated string of the quoted elements.

"%" and "_" will not be quoted, if you don't want to use these as wildcards you will need to quote it by yourself or use quoteWildCards instead.

Parameters
$value : mixed
 
$parameterType : int
 

quoteIdentifier()

public Sqlsrv::quoteIdentifier (
mixed $identifier
): string

This method quotes an identifier

Parameters
$identifier : mixed
 
Exceptions

Throws \BadMethodCallException

quoteWildCards()

Quote the string including wildCard symbols

Parameters
$value : mixed
 

rollBack()

setAttribute()

Internal PHP method: PDO::setAttribute

setLogger()

public \com\setasign\SetaFramework\Database\Database::setLogger (
\Psr\Log\LoggerInterface $logger
): void

Sets a logger instance on the object.

Parameters
$logger : \Psr\Log\LoggerInterface