Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с запросами после вызова процедуры, После вызова процедуры не работает БД 
:(
    Опции темы
LordZeus
Дата 1.11.2011, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.5.2008

Репутация: нет
Всего: нет



Доброго времени суток!

Проблема вот в чем: написал процедуру, и при ее вызове - она выполняется нормально, но все последующие запросы возвращают:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\juli...

Если вернуть просто запрос, вместо вызова процедуры - все нормально.

Код вызова: 
Код

$query='CALL `sizes_on_tgood_id`('.$good.');';
$res_size=mysql_query($query, $con_base);
$row_size=mysql_fetch_array($res_size);


Код хранимой процедуры:
Код

CREATE DEFINER = 'root'@'localhost' PROCEDURE `sizes_on_tgood_id`(
        IN income INTEGER(11)
    )
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN

set @REZ:= (select `t_goods`.`type_good` FROM `t_goods` where `t_goods`.`id`=income);
set @REZ2:= (select `t_goods`.`color` FROM `t_goods` where `t_goods`.`id`=income);

set @result:=CONCAT("
select `sizes`.`size`,
`good_size_koll`.`id` 
from `sizes`,`good_size_koll`, `t_goods` 
where `sizes`.`id` = `good_size_koll`.`id_size` 
and `good_size_koll`.`nal` = 1 
and `good_size_koll`.`id_good` = `t_goods`.`id` 
and `t_goods`.`type_good` = ",@REZ," 
and `t_goods`.`color` = ",@REZ2);

PREPARE stmt FROM @result;
EXECUTE stmt;

END;


В чем проблема - пока не разобрался, но надеюсь, что местные гуру легко и просто мне помогут!  smile 
PM MAIL   Вверх
skyboy
Дата 1.11.2011, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



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

$query='CALL `sizes_on_tgood_id`('.$good.');';
if (!$res_size=mysql_query($query, $con_base)) {
 die(mysql_error());
}

помочь выяснить причину сбоя, я имею в виду
PM MAIL   Вверх
LordZeus
Дата 1.11.2011, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.5.2008

Репутация: нет
Всего: нет



skyboy,  Спасибо, добрый человек. Совет дал первые результаты:

Ошибка:
Commands out of sync; you can't run this command now

Ищу способ решения.

Только вот этот метод выявления ошибки я применил ровно к следующему за вызовом обращению к БД. 

Получается, что моя процедура, как бы, не завершает работу до конца и препятствует выполнению других запросов какое-то время.

Это логично, т.к. после скрипта который запускает процедуру если перейти по другим ссылкам на сайте (без вызовы процедуры) ни один запрос к БД не выполняется и выводится куча ошибок указанных в первом сообщении. Спусти 10-20секунд все снова работает. smile 

Это сообщение отредактировал(а) LordZeus - 1.11.2011, 23:09
PM MAIL   Вверх
LordZeus
Дата 1.11.2011, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.5.2008

Репутация: нет
Всего: нет



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

Решение лежит тут!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.