Sfoglia il codice sorgente

address PHP 8.5 deprecation

El RIDO 8 mesi fa
parent
commit
eaf8f9f92e
1 ha cambiato i file con 7 aggiunte e 2 eliminazioni
  1. 7 2
      lib/Data/Database.php

+ 7 - 2
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(