Я совершенно новый, просто делаю из-за запроса босса. Поэтому у меня есть проблема, о которой я хочу спросить.SQLSRV вызывает хранимую процедуру на SQL-сервере
Это результат, когда я называю SP в SQL
Ниже код вызова SP в PHP
$ma_dvcs = 'OL';
$ngay = '01/2/2015';
$ma_kho = 'BPOL01';
$ma_nhvt = '';
$ma_vt = '24110012A2140850';
$kieu = '1';
$query = "{call Tondaulist (@p_Ma_Dvcs_List = ?,@p_Ngay = ?,@p_Ma_Kho = ?,@p_Ma_Nh_Vt = ?,@p_Ma_Vt = ?,@p_Kieu = ?)}";
$params = array(
array(&$ma_dvcs, SQLSRV_PARAM_IN),
array(&$ngay, SQLSRV_PARAM_IN),
array(&$ma_kho, SQLSRV_PARAM_IN),
array(&$ma_nhvt, SQLSRV_PARAM_IN),
array(&$ma_vt, SQLSRV_PARAM_IN),
array(&$kieu, SQLSRV_PARAM_IN)
);
$smtp = sqlsrv_prepare($conn, $query, $params);
if($smtp === false)
{
echo "Error in executing statement 3.\n";
die(print_r(sqlsrv_errors(), true));
}
$rows = sqlsrv_execute($smtp);
var_dump($rows);die;
$arr[] = sqlsrv_fetch_array($rows,SQLSRV_FETCH_ASSOC);
SQLSRV Exec var_dump возвращает истину, но я не могу выборки ничего и сохраняют ошибку:
The active result for the query contains no fields
or
sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given
Так что я хочу знать, что SP работает так же, как функция в php или нет? Если да, может ли он вернуть массив или может просто возвращать логическое значение и как получить этот массив?
Спасибо заранее
спасибо за ответ, но как я могу получить этот набор результатов и распечатать его –
уже изменил мой запрос, но все тот же –
он продолжает возвращать: активный результат для запроса не содержит полей. странно, похоже, что он просто возвращает логическое значение. –