Всем привет! Недавно пришлось столкнуться с программирование процедур в мускуле. К сожалению знакомых, которые бы хоть как-то поняли эту тему нет, поэтому приходится биться головой ап стену. Если кому-то тоже интересно покопать эту тему, или уже имеют какой-то опыт в этих вопросах предлагаю следующую задачку: Значит есть у нас такая процедура: [sql] DROP PROCEDURE `goLogin`// CREATE PROCEDURE `goLogin` ( IN loginid BIGINT(13), IN passwrd VARCHAR(50), OUT userid INT(13) ) BEGIN SET @userid = 0; SELECT `id` INTO @userid FROM users WHERE `password` = passwrd AND `login` = loginid AND `active` = 1 LIMIT 1; SELECT @userid; END // [/sql] ВОт! Она работает и возвращает значение в пхп. Вопрос: Почему после выполнения этой процедуры, все нижестоящие процедуры не выполняются, хотя процедура возвращает цифровое значение. Если мы ставим нижестоящие процедуры перед этой то они нормально отрабатываются. Подскажите пожалуйста в чём мне искать БАГ(в днк уже нашли, к сожалению, пофиксить нельзя :? )? Спасибо всем большое за внимание к моей теме!
@var - пользовательская переменная В сигнатуре процедуры объявлена внутренняя переменная userid, хотя внутри процедуры используются пользовательские переменные (и как там с глобальностью?). Может быть в этом баг?