diff -Nuar a/vendor/magento/framework/DB/Statement/Pdo/Mysql.php b/vendor/magento/framework/DB/Statement/Pdo/Mysql.php
--- a/vendor/magento/framework/DB/Statement/Pdo/Mysql.php
+++ b/vendor/magento/framework/DB/Statement/Pdo/Mysql.php
@@ -1,25 +1,22 @@
 <?php
 /**
- * Copyright © 2016 Magento. All rights reserved.
+ * Copyright © Magento, Inc. All rights reserved.
  * See COPYING.txt for license details.
  */
+namespace Magento\Framework\DB\Statement\Pdo;
 
-// @codingStandardsIgnoreFile
+use Magento\Framework\DB\Statement\Parameter;
 
 /**
  * Mysql DB Statement
  *
  * @author      Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Framework\DB\Statement\Pdo;
-
-use Magento\Framework\DB\Statement\Parameter;
-
 class Mysql extends \Zend_Db_Statement_Pdo
 {
+
     /**
-     * Executes statement with binding values to it.
-     * Allows transferring specific options to DB driver.
+     * Executes statement with binding values to it. Allows transferring specific options to DB driver.
      *
      * @param array $params Array of values to bind to parameter placeholders.
      * @return bool
@@ -63,11 +60,9 @@ class Mysql extends \Zend_Db_Statement_Pdo
             $statement->bindParam($paramName, $bindValues[$name], $dataType, $length, $driverOptions);
         }
 
-        try {
+        return $this->tryExecute(function () use ($statement) {
             return $statement->execute();
-        } catch (\PDOException $e) {
-            throw new \Zend_Db_Statement_Exception($e->getMessage(), (int)$e->getCode(), $e);
-        }
+        });
     }
 
     /**
@@ -92,7 +87,29 @@ class Mysql extends \Zend_Db_Statement_Pdo
         if ($specialExecute) {
             return $this->_executeWithBinding($params);
         } else {
-            return parent::_execute($params);
+            return $this->tryExecute(function () use ($params) {
+                return $params !== null ? $this->_stmt->execute($params) : $this->_stmt->execute();
+            });
+        }
+    }
+
+    /**
+     * Executes query and avoid warnings.
+     *
+     * @param callable $callback
+     * @return bool
+     * @throws \Zend_Db_Statement_Exception
+     */
+    private function tryExecute($callback)
+    {
+        $previousLevel = error_reporting(\E_ERROR); // disable warnings for PDO bugs #63812, #74401
+        try {
+            return $callback();
+        } catch (\PDOException $e) {
+            $message = sprintf('%s, query was: %s', $e->getMessage(), $this->_stmt->queryString);
+            throw new \Zend_Db_Statement_Exception($message, (int)$e->getCode(), $e);
+        } finally {
+            error_reporting($previousLevel);
         }
     }
 }
