DatabaseQuery class

Serves as a base class for other DatabaseQuery classes

The intention behind these classes is to have a query that can safely be passed between methods and objects that add to it without knowledge of what other methods/objects have done to it. It also means being able to build a complex query without worrying about correct syntax placement.

This file is licensed under the MIT license


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the DatabaseQuery class also inherits all the methods and properties of: WireData and Wire.

Show class?     Show args?       Only hookable?    

Common

NameReturnSummary 
DatabaseQuery::bindOption($optionName)
string int array

Get or set a bind option

 
DatabaseQuery::bindValue(string $key, mixed $value)
$this

Bind a parameter value

 
DatabaseQuery::bindValueGetKey($value)
string

Bind value and get unique key that refers to it in one step

 
DatabaseQuery::copyBindValuesTo($query)
int

Copy bind values from this query to another given DatabaseQuery or \PDOStatement

 
DatabaseQuery::copyTo(DatabaseQuery $query)
int

Copy queries from this DatabaseQuery to another DatabaseQuery

 
DatabaseQuery::execute()
PDOStatement bool

Execute the query with the current database handle

 
DatabaseQuery::getBindValues()
array int

Get bind values, with options

 
DatabaseQuery::getDebugQuery()
string

Get SQL query with bind params populated for debugging purposes (not to be used as actual query)

 
DatabaseQuery::getQuery()
string

Generate the SQL query based on everything set in this DatabaseQuery object

 
DatabaseQuery::getQueryMethod(string $method)
string

Return the generated SQL for specific query method

 
DatabaseQuery::getSQL()
string

Return generated SQL for entire query or specific method

 
DatabaseQuery::getUniqueBindKey()
string

Get a unique key to use for bind value

 
DatabaseQuery::prepare()
PDOStatement

Prepare and return a PDOStatement

 
DatabaseQuery::where($sql)
$this
Can also be used as property: DatabaseQuery::where

Properties

NameReturnSummary 
DatabaseQuery::bindKeys array 
DatabaseQuery::bindOptions array 
DatabaseQuery::bindValues array 
DatabaseQuery::query string 
DatabaseQuery::sql string 

Additional methods and properties

In addition to the methods and properties above, DatabaseQuery also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.252