diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php index 11782fc1ca67815008d503fd6c8a13d5ae9bbb08..687700e7859f62d1f23c50843b92f61bc570ea36 100644 --- a/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php +++ b/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php @@ -150,6 +150,11 @@ public static function open(array &$connection_options = []) { \PDO::ATTR_EMULATE_PREPARES => TRUE, // Limit SQL to a single statement like mysqli. \PDO::MYSQL_ATTR_MULTI_STATEMENTS => FALSE, + // Convert numeric values to strings when fetching. In PHP 8.1, + // \PDO::ATTR_EMULATE_PREPARES now behaves the same way as non emulated + // prepares and returns integers. See https://externals.io/message/113294 + // for further discussion. + \PDO::ATTR_STRINGIFY_FETCHES => TRUE, ]; try {