Выполнение запроса Mssql возвращает ошибку

Я подключен к sybase db через драйвер php mssql.

Когда я запускаю этот sql-запрос:

$result = mssql_query("exec taxKM $rate, $var, $days, $discount, $distance, $inDate, $outDate, null", $cnx);

Я получаю эту ошибку:

Warning: mssql_query(): message: ASA Error -188: Not enough values for host variables (severity 16)

Я следую спецификациям процедуры taxKM.

Кажется, пропущены значения, не так ли?

Но если я следую спецификациям, это связано с неправильными спецификациями функций?


person vonbloom    schedule 04.12.2013    source источник
comment
Нет, это опечатка, Майкл.   -  person vonbloom    schedule 04.12.2013
comment
Вы можете проверить процедуру, чтобы убедиться, что она соответствует спецификациям. sp_helptext taxKM должен предоставить вам информацию.   -  person Michael Gardner    schedule 04.12.2013
comment
Михаил, спасибо, проверю.   -  person vonbloom    schedule 04.12.2013


Ответы (1)


Я полагаю, вам нужно правильно заключать в кавычки нечисловые аргументы процедуры в строке , поэтому вместо

mssql_query("exec taxKM $rate, $var, $days, $discount, $distance, $inDate, $outDate, null", $cnx)

попробуй это

mssql_query("exec taxKM $rate, '$var', $days, '$discount', $distance, '$inDate', '$outDate', null", $cnx)

или похожие

Кроме того, я не знаю, можно ли получить доступ к ASA - Sybase Adaptive Server Anywhere с помощью драйвера php-mssql.

person knb    schedule 04.12.2013
comment
Если я попытаюсь получить доступ с помощью драйвера sybase, я получу тот же результат. И цитирование нечисловых значений не влияет на результат. - person vonbloom; 04.12.2013
comment
может быть, тогда ваша процедура ожидает еще больше переменных? - Также проверьте это: stackoverflow.com/questions/4127364/ - person knb; 04.12.2013