1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the TYPO3 CMS project. 7 * 8 * It is free software; you can redistribute it and/or modify it under 9 * the terms of the GNU General Public License, either version 2 10 * of the License, or any later version. 11 * 12 * For the full copyright and license information, please read the 13 * LICENSE.txt file that was distributed with this source code. 14 * 15 * The TYPO3 project - inspiring people to share! 16 */ 17 18namespace TYPO3\CMS\Core\Database\Driver\PDOSqlsrv; 19 20use Doctrine\DBAL\ParameterType; 21use PDO; 22use TYPO3\CMS\Core\Database\Driver\PDOStatement; 23 24/** 25 * This is a full "clone" of the class of package doctrine/dbal. Scope is to use the PDOConnection of TYPO3. 26 * All private methods have to be checked on every release of doctrine/dbal. 27 */ 28class Statement extends PDOStatement 29{ 30 /** 31 * {@inheritdoc} 32 */ 33 public function bindParam($column, &$variable, $type = ParameterType::STRING, $length = null, $driverOptions = null) 34 { 35 if (($type === ParameterType::LARGE_OBJECT || $type === ParameterType::BINARY) 36 && $driverOptions === null 37 ) { 38 $driverOptions = PDO::SQLSRV_ENCODING_BINARY; 39 } 40 41 return parent::bindParam($column, $variable, $type, $length, $driverOptions); 42 } 43 44 /** 45 * {@inheritdoc} 46 */ 47 public function bindValue($param, $value, $type = ParameterType::STRING) 48 { 49 return $this->bindParam($param, $value, $type); 50 } 51} 52