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

Latest news

  • ProcessWire Weekly #544
    In the 150th issue of ProcessWire Weekly we'll check out brand-new third party module called Inputfield Dependency Helper, share some recent highlights from the support forum, and more. Read on!
    Weekly.pw / 12 October 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • 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