Не удалось подключить хранимую процедуру вызова sqlsrv php

я взял ниже SP HIt, используя sqlsrv и PHP. Фрагмент не работает для меня. Для приведенного ниже кода я получаю «SQL SRV QUERY NOT RAN». пожалуйста, посоветуйте, как добиться php + sqlsrv + SP.

$query = "{CALL call_user_name}";

if ( ($res = sqlsrv_query( CONNSTR, $query)) )
{
   do 
   {
      if ( sqlsrv_num_fields($res) ) // one way to check if results returned.

      {
         while( ($row = sqlsrv_fetch_array( $res, $type)) )
         {
            $data[] = $row; 
         }
      }else{echo "sqlsrv_num_fields not working";}
   } while ( sqlsrv_next_result($res) ) ;
   sqlsrv_free_stmt($res); // not essential, but good form if your script does lots of other stuff.
}else{
       echo "SQL SRV QUERY NOT RAN ";die( print_r( sqlsrv_errors(), true));
}

person Bharanikumar    schedule 22.05.2013    source источник
comment
возможно, вам не нужно $params в вашем sqlsrv_query, когда он пуст.   -  person Amir    schedule 22.05.2013
comment
любое предложение ??????????   -  person Bharanikumar    schedule 22.05.2013
comment
что означает CONNSTR? ты имеешь в виду $CONNSTR? если это опечатка, укажите код строки подключения.   -  person Amir    schedule 22.05.2013
comment
Строка подключения БД.   -  person Bharanikumar    schedule 22.05.2013
comment
Пожалуйста, введите коды строк подключения   -  person Amir    schedule 22.05.2013


Ответы (2)


Есть несколько возможных причин вашей ошибки, мое предложение: измените эту строку

echo "ЗАПРОС SQL SRV НЕ РАН"

to

die(print_r(sqlsrv_errors(), true));

Затем вы можете увидеть, что вызывает ошибку.

person Anthony Steven    schedule 22.05.2013
comment
Получение SQL SRV QUERY NOT RAN Массив ( [0] => Массив ( [0] => 01000 [SQLSTATE] => 01000 [1] => 0 [код] => 0 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server] RYBACK [сообщение] => [Microsoft][SQL Server Native Client 10.0][SQL Server]RYBACK ) ), но sqlsrv_query не удается, получая указанный выше массив в кристалле (print_r()) - person Bharanikumar; 22.05.2013
comment
Получение массива ( [0] => Массив ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -28 [код] => -28 [2] => Активный результат запроса не содержит полей .[сообщение] => Активный результат запроса не содержит полей. )) - person Bharanikumar; 22.05.2013
comment
возможно, этот вопрос может вам помочь: stackoverflow.com/questions/4336473/ - person Anthony Steven; 22.05.2013

Пример вызова хранимой процедуры PHP SQL Srv (с параметрами). Надеюсь, это поможет вам получить представление. (Используется для вызова этого файла php через запрос Ajax и возврат данных после вызова SP)

smeSelectDrp — это имя поставщика услуг.

$sql = "EXEC smeSelectDrp";

$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {
echo "Error Retrieving Data";
die;
}
else 
{
while($row  = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
$value[] = $row;
}
echo json_encode($value);
}
person cs-87    schedule 14.01.2020