2017-02-07 6 views
0

Я использую Laravel 4.2 и вызываю хранимую процедуру из базы данных на сервере. Локально он работает нормально, но на сервере, используя тот же БД, он дает ошибку. Вызов заключается в следующем (я просто хочу, чтобы сделать выбор):SQLSTATE [HY000]: Общая ошибка: 2053 при вызове SP

$result = DB::select('CALL sp_special_prices("'.$codClient.'", "'.$codProduct.'", "'.$quantity.'", "'.$grup.'", "'.$FirmCode.'")'); 

При запуске продукта листинг на сервере, он работает на двух статей, за исключением того, что дает следующее сообщение об ошибке:

Caught exception: SQLSTATE[HY000]: General error: 2053 (SQL: CALL sp_special_prices("C000000", "445706049", "1", "146", "75");) 

I уже проверял версии php, и я использую 5.6 на обоих сайтах. Может ли быть какая-то особая конфигурация? Является ли то, что БД является тем же самым, местом вызова СП, является то, что он отличается.

+0

Пожалуйста, опубликуйте, как вы используете этот proc для sql и его выход – Paras

+0

@Paras, CALL sp_special_prices («C000000», «445706049», «1», «146», «75»), например –

+2

Эта процедура возвращает что-нибудь? – Paras

ответ

0

Если процедура не возвращает ничего, вы должны использовать DB::statement вместо DB::select. Если он что-то вернуть, вам нужно использовать DB::select

Если процедура имеет переменное поведение (может или не может возвращать данные в зависимости от входа), я предлагаю вам изменить процедуру, чтобы вернуться некоторыми данными для всех комбинаций входных

+0

Да, моя процедура имеет переменное поведение (может или не может возвращать данные в зависимости от ввода). Когда вы не возвращаете данные, вы не должны возвращать пустой массив? Или ноль? На моем рабочем столе возвращают пустой массив. –