$database->sqlMode() method

Get SQL mode, set SQL mode, add to existing SQL mode, or remove from existing SQL mode

Example

// Get SQL mode
$mode = $database->sqlMode();

// Add an SQL mode
$database->sqlMode('add', 'STRICT_TRANS_TABLES');

// Remove SQL mode if version at least 5.7.0
$database->sqlMode('remove', 'ONLY_FULL_GROUP_BY', '5.7.0');

Usage

// basic usage
$string = $database->sqlMode();

// usage with all arguments
$string = $database->sqlMode(string $action = 'get', string $mode = '', string $minVersion = '', $pdo = null);

Arguments

NameType(s)Description
action (optional)string

Specify "get", "set", "add" or "remove". (default="get")

mode (optional)string

Mode string or CSV string with SQL mode(s), i.e. "STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY". This argument should be omitted when using the "get" action.

minVersion (optional)string

Make the given action only apply if MySQL version is at least $minVersion, i.e. "5.7.0".

pdo (optional)

Return value

string bool

Returns string in "get" action, boolean false if required version not present, or true otherwise.

Exceptions

Method can throw exceptions on error:

  • WireException - If given an invalid $action


$database methods and properties

API reference based on ProcessWire core version 3.0.248

Latest news

  • ProcessWire Weekly #581
    The 581st issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 28 June 2025
  • New ProcessWire admin redesign
    When you upgrade to ProcessWire 3.0.248 or newer (currently the dev branch), you’ll immediately notice something new and beautiful…
    Blog / 9 May 2025
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits