diff --git a/source/shared/core_stmt.cpp b/source/shared/core_stmt.cpp index cb24cb18..3398ed59 100644 --- a/source/shared/core_stmt.cpp +++ b/source/shared/core_stmt.cpp @@ -440,6 +440,9 @@ void core_sqlsrv_bind_param( _Inout_ sqlsrv_stmt* stmt, _In_ SQLUSMALLINT param_ if ( stmt->conn->ce_option.enabled && ( sql_type == SQL_UNKNOWN_TYPE || column_size == SQLSRV_UNKNOWN_SIZE )) { ae_get_sql_type_info( stmt, param_num, direction, param_z, encoding, sql_type, column_size, decimal_digits TSRMLS_CC ); + // change long to double if the sql type is decimal + if ( sql_type == SQL_DECIMAL && Z_TYPE_P( param_z ) == IS_LONG ) + convert_to_double( param_z ); } else { // if the sql type is unknown, then set the default based on the PHP type passed in diff --git a/test/functional/pdo_sqlsrv/skipif_versions_old.inc b/test/functional/pdo_sqlsrv/skipif_versions_old.inc index dce5e21f..b6f0a5a4 100644 --- a/test/functional/pdo_sqlsrv/skipif_versions_old.inc +++ b/test/functional/pdo_sqlsrv/skipif_versions_old.inc @@ -6,7 +6,7 @@ if (! extension_loaded( 'pdo' ) || ! extension_loaded( 'pdo_sqlsrv' )) require_once( "MsSetup.inc" ); require_once( "MsCommon.inc" ); -$conn = new PDO( "sqlsrv:server = $server;", $uid, $pwd ); +$conn = ae_connect(); if( ! $conn ) { echo( "Error: could not connect during SKIPIF!" ); diff --git a/test/functional/sqlsrv/skipif_versions_old.inc b/test/functional/sqlsrv/skipif_versions_old.inc index 50ae84d8..8ae712c7 100644 --- a/test/functional/sqlsrv/skipif_versions_old.inc +++ b/test/functional/sqlsrv/skipif_versions_old.inc @@ -4,7 +4,7 @@ if(! extension_loaded( "sqlsrv" ) ) die( "skip extension not loaded" ); require_once( "MsCommon.inc" ); -$conn = Connect(); +$conn = ae_connect(); if( ! $conn ) { echo( "Error: could not connect during SKIPIF!" );