lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php
private function bindTypedParameters()
    {
        $streams = $values = [];
        $types   = $this->types;

        foreach ($this->_bindedValues as $parameter => $value) {
            if (! isset($types[$parameter - 1])) {
                $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING];
            }

            if ($types[$parameter - 1] === static::$_paramTypeMap[ParameterType::LARGE_OBJECT]) {
                if (is_resource($value)) {
                    if (get_resource_type($value) !== 'stream') {
                        throw new InvalidArgumentException('Resources passed with the LARGE_OBJECT parameter type must be stream resources.');
                    }
                    $streams[$parameter] = $value;
                    $values[$parameter]  = null;
                    continue;
                }

                $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING];
            }

            $values[$parameter] = $value;
        }

        if (! $this->_stmt->bind_param($types, ...$values)) {
            throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno);
        }

        $this->sendLongData($streams);
    }
private function bindTypedParameters()
    {
        $streams = $values = [];
        $types   = $this->types;

        foreach ($this->_bindedValues as $parameter => $value) {
            if (! isset($types[$parameter - 1])) {
                $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING];
            }

            if ($types[$parameter - 1] === static::$_paramTypeMap[ParameterType::LARGE_OBJECT]) {
                if (is_resource($value)) {
                    if (get_resource_type($value) !== 'stream') {
                        throw new InvalidArgumentException('Resources passed with the LARGE_OBJECT parameter type must be stream resources.');
                    }
                    $streams[$parameter] = $value;
                    $values[$parameter]  = null;
                    continue;
                }

                $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING];
            }

            $values[$parameter] = $value;
        }

        if (! $this->_stmt->bind_param($types, ...$values)) {
            throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno);
        }

        $this->sendLongData($streams);
    }
private function bindTypedParameters ( ) { $ streams = $ values = [ ] ; $ types = $ this -> types ; foreach ( $ this -> _bindedValues as $ parameter => $ value ) { if ( ! isset ( $ types [ $ parameter - 1 ] ) ) { $ types [ $ parameter - 1 ] = static :: $ _paramTypeMap [ ParameterType :: STRING ] ; } if ( $ types [ $ parameter - 1 ] === static :: $ _paramTypeMap [ ParameterType :: LARGE_OBJECT ] ) { if ( is_resource ( $ value ) ) { if ( get_resource_type ( $ value ) !== 'stream' ) { throw new InvalidArgumentException ( 'Resources passed with the LARGE_OBJECT parameter type must be stream resources.' ) ; } $ streams [ $ parameter ] = $ value ; $ values [ $ parameter ] = null ; continue ; } $ types [ $ parameter - 1 ] = static :: $ _paramTypeMap [ ParameterType :: STRING ] ; } $ values [ $ parameter ] = $ value ; } if ( ! $ this -> _stmt -> bind_param ( $ types , ... $ values ) ) { throw new MysqliException ( $ this -> _stmt -> error , $ this -> _stmt -> sqlstate , $ this -> _stmt -> errno ) ; } $ this -> sendLongData ( $ streams ) ; }
Binds parameters with known types previously bound to the statement
Binds parameters with known types previously bound to the statement