$database API variable / WireDatabasePDO class

All database operations in ProcessWire are performed via this PDO-style database class.

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

Show $var?             Show args?        

PDO

NameReturnSummary 
$database->beginTransaction()
boolInitiates a transaction 
$database->commit()
boolCommits a transaction 
$database->errorCode()
stringFetch the SQLSTATE associated with the last operation on the statement handle 
$database->errorInfo()
arrayFetch extended error information associated with the last operation on the database handle 
$database->exec($statement)
bool intExecute an SQL statement string 
$database->getAttribute(int $attribute)
mixedRetrieve a database connection attribute 
$database->inTransaction()
boolChecks if inside a transaction 
$database->lastInsertId()
stringReturns the ID of the last inserted row or sequence value 
$database->pdo()
PDOReturn the actual current PDO connection instance 
$database->prepare(string $statement)
PDOStatementPrepare an SQL statement for accepting bound parameters 
$database->query(string $statement)
PDOStatementExecutes an SQL statement, returning a result set as a PDOStatement object 
$database->quote(string $str)
stringQuote and escape a string value 
$database->rollBack()
boolRolls back a transaction 
$database->setAttribute(int $attribute, mixed $value)
boolSets an attribute on the database handle 
$database->supportsTransaction()
boolAre transactions available with current DB engine (or table)? 

Sanitization

NameReturnSummary 
$database->escapeCol(string $col)
stringSanitize a column name for _a-zA-Z0-9 
$database->escapeLike(string $like)
stringEscape a string value, plus escape characters necessary for a MySQL 'LIKE' phrase 
$database->escapeStr(string $str)
stringEscape a string value, same as $db->quote() but without surrounding quotes 
$database->escapeTable(string $table)
stringSanitize a table name for _a-zA-Z0-9 
$database->escapeTableCol(string $str)
stringSanitize a table.column string, where either part is optional 
$database->quote(string $str)
stringQuote and escape a string value 

Additional methods and properties

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

API reference based on ProcessWire core version 3.0.130

Twitter updates

  • New post: Quietly and without interruption this week, the ProcessWire.com website (and all subdomains) moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before— More
    19 April 2019
  • New post: With ProcessWire 3.0.130, this week we’ll take a detailed look at a few useful new API additions made in the last few weeks, along with examples of each—More
    12 April 2019
  • New post: This week ProcessWire ProMailer has been released, plus we’ve got a nice upgrade in our community support forum, and more— More
    15 March 2019

Latest news

  • ProcessWire Weekly #258
    In the 258th issue of ProcessWire Weekly we'll cover a hosting upgrade for the processwire.com site and it's subdomains, introduce PW Review and Terminal module, and feature the new site of O'Neil Cinema. Read on!
    Weekly.pw / 20 April 2019
  • ProcessWire.com website hosting upgrades
    Quietly and without interruption this week, our whole website moved from a single static server to a load-balanced multi-server environment, giving us even more horsepower and redundancy than before.
    Blog / 19 April 2019
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK