$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 #550
    In the 550th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module called PagefileMetadata, and more. Read on!
    Weekly.pw / 23 November 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

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer