Нет результатов при выполнении моей хранимой процедуры на сервере с PHP 5.4 и драйвером MSSQL - PullRequest
0 голосов
/ 02 октября 2019

В последние два дня я столкнулся с этой странной проблемой, и я надеюсь найти ответ здесь. Я запускаю приложение PHP с codeigniter, и когда я выполняю свою хранимую процедуру в localhost с установленным PHP 7.2, я получаю те же результаты, когда выполняю ее с прямым запросом. Но тот же код не работает на сервере с PHP 5.6 Я не получаю ни результатов, ни ошибок. Любая другая процедура работает отлично, кроме этой, и я не вижу, как ее решить

Вот моя конфигурация базы данных localhost, которую я использую sqlsrv драйвер

$db['default']['hostname'] = 'IP Adress'; 
//$db['default']['port'] = 1433; // or the port you configured on step 6
 $db['default']['username'] = 'web_user';
 $db['default']['password'] = '*****';
 $db['default']['database'] = 'Test_ANPAP';
 $db['default']['dbdriver'] = 'sqlsrv';
 $db['default']['dbprefix'] = '';
 $db['default']['pconnect'] = FALSE; 
 $db['default']['db_debug'] = TRUE;
 $db['default']['cache_on'] = FALSE;
 $db['default']['cachedir'] = '';
 $db['default']['char_set'] = 'utf8';
 $db['default']['dbcollat'] = 'utf8_general_ci';
 $db['default']['swap_pre'] = '';
 $db['default']['autoinit'] = TRUE;
 $db['default']['stricton'] = FALSE; 

То жедля сервера, но драйвер - mssql

$db['default']['dbdriver'] = 'mssql';

Вот код, который я выполнил

$sp = " EXEC TAB_Assure_Select_New @StartDate = '2019-09-01', 
@EndDate = '2019-10-01'";
$result = $this->db->query($sp);
if($result->num_rows()>0)
    return $result->result_array();
else
    return false;// it 's always false on server 

Я тоже пробовал, то же самое, без результатов

$conn = mssql_connect('IP address', 'web_user', '*****');
mssql_select_db('Test_ANPAP', $conn);

$proc = mssql_init("TAB_Assure_Select_New @StartDate = '01-09-2019', 
@EndDate = '01-10-2019'", $conn);
$proc_result = mssql_execute($proc);
$rows = mssql_fetch_array($proc_result);
print_r($rows);
print_r(mssql_num_rows($proc_result));
mssql_free_statement($proc);
...