За последние 24 часа нас посетили 30699 программистов и 1479 роботов. Сейчас ищут 865 программистов ...

Программирование процедур. Помощь, советы

Тема в разделе "MySQL", создана пользователем tan4ik, 20 ноя 2009.

  1. tan4ik

    tan4ik Активный пользователь

    С нами с:
    20 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Всем привет!
    Недавно пришлось столкнуться с программирование процедур в мускуле. К сожалению знакомых, которые бы хоть как-то поняли эту тему нет, поэтому приходится биться головой ап стену.

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

    [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]

    ВОт! Она работает и возвращает значение в пхп.

    Вопрос: Почему после выполнения этой процедуры, все нижестоящие процедуры не выполняются, хотя процедура возвращает цифровое значение. Если мы ставим нижестоящие процедуры перед этой то они нормально отрабатываются. Подскажите пожалуйста в чём мне искать БАГ(в днк уже нашли, к сожалению, пофиксить нельзя :? )?

    Спасибо всем большое за внимание к моей теме!
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Какие такие нижестоящие процедуры?
     
  3. tan4ik

    tan4ik Активный пользователь

    С нами с:
    20 ноя 2009
    Сообщения:
    3
    Симпатии:
    0
    Всёравно какие, даже к пустым возвращает фолсе.
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    @var - пользовательская переменная
    В сигнатуре процедуры объявлена внутренняя переменная userid, хотя внутри процедуры используются пользовательские переменные (и как там с глобальностью?).
    Может быть в этом баг?