From eaf8f9f92ea8de9a5dc0deeb6d8fa46aa72d6c89 Mon Sep 17 00:00:00 2001 From: El RIDO Date: Tue, 2 Dec 2025 07:07:04 +0100 Subject: [PATCH] address PHP 8.5 deprecation --- lib/Data/Database.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Data/Database.php b/lib/Data/Database.php index a574c13a..61c6ec77 100644 --- a/lib/Data/Database.php +++ b/lib/Data/Database.php @@ -84,8 +84,13 @@ class Database extends AbstractData ); // MySQL uses backticks to quote identifiers by default, // tell it to expect ANSI SQL double quotes - if ($this->_type === 'mysql' && defined('PDO::MYSQL_ATTR_INIT_COMMAND')) { - $options['opt'][PDO::MYSQL_ATTR_INIT_COMMAND] = "SET SESSION sql_mode='ANSI_QUOTES'"; + if ($this->_type === 'mysql') { + // deprecated as of PHP 8.5 + if (version_compare(PHP_VERSION, '8.5') < 0 && defined('PDO::MYSQL_ATTR_INIT_COMMAND')) { + $options['opt'][PDO::MYSQL_ATTR_INIT_COMMAND] = "SET SESSION sql_mode='ANSI_QUOTES'"; + } elseif (defined('Pdo\Mysql::ATTR_INIT_COMMAND')) { + $options['opt'][Pdo\Mysql::ATTR_INIT_COMMAND] = "SET SESSION sql_mode='ANSI_QUOTES'"; + } } $tableQuery = $this->_getTableQuery($this->_type); $this->_db = new PDO(