Почему я получаю ошибку MySQL # 1312 при использовании простой хранимой процедуры? - PullRequest
4 голосов
/ 16 мая 2010

Я пытаюсь научиться использовать хранимые процедуры MySQL.MySQL принял мою процедуру:

CREATE PROCEDURE SimpleProc()
   BEGIN
   SELECT *  FROM myTable;
   END

(В phpMyAdmin я установил // для разделителя. Реальная версия имеет имя фактической таблицы вместо myTable.).

Но, когдаЯ вызываю процедуру с CALL SimpleProc();, я получаю ошибку "# 1312 - ПРОЦЕДУРА mydb.SimpleProc не может вернуть набор результатов в данном контексте".

Я прочитал, что некоторые версии php или phpMyAdmin выиграли 'работать с хранимыми процедурами.

Я использую локальный хост, работающий на Mac с MAMP 1.9.У меня есть MySQL 5.1.44, PHP 5.2.13 и 5.3.2, phpMyAdmin 3.2.5.Кто-нибудь знает, будут ли хранимые процедуры работать с моей настройкой?Я что-то делаю неправильно?Любой совет?

Призыв к Красному Красному за тройную победу в Лаксе за сверхурочную работу.

Спасибо, Лакшмиди

1 Ответ

3 голосов
/ 16 мая 2010

Да, в некоторых старых версиях phpMyAdmin есть ошибка, которая может вызвать ошибку 1312, которую вы получаете. Это может произойти при вызове хранимых процедур, которые содержат SELECT операторов из phpMyAdmin.

Вы можете проверить следующие сообщения для дальнейшего чтения:

Эта ошибка влияет только на phpMyAdmin, и вы все равно сможете вызывать хранимую процедуру из любого места.

...