$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.244

Latest news

  • ProcessWire Weekly #558
    In the 558th issue of ProcessWire Weekly we'll check out the blog post that introduces ProcessWire 3.0.244, share some recent ProcessWire highlights, and more. Read on!
    Weekly.pw / 18 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH