В последние два дня я столкнулся с этой странной проблемой, и я надеюсь найти ответ здесь. Я запускаю приложение 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);