Не проходит селект в хранимой процедуре MySQL 5.0.24 php 5.1.2 Apache 2.2.4

Не проходит селект в хранимой процедуре MySQL 5.0.24 php 5.1.2 Apache 2.2.4

Здравствуйте!
У меня возникла проблема. Она, как я понял, похожа на вот эти проблемы:
http://phpclub.ru/talk/showthread.php?s=&threadid=95459&highlight=procedure
http://phpclub.ru/talk/showthread.php?s=&threadid=91651&highlight=procedure+the+given+context

Пробовал на MySQL 5.0.24, PHP 5.1.2, PHP 5.2, Apache 2.2.4, Apache 1.3.33 WindowsXP, Fedora
Есть процедура с одним запросом SELECT, который возвращает одну или несколько строк в результате.
Процедура прекрасно работает в MySQL Query Browser выдает все, что надо. А в самом PHP скрипте выдает ошибку
PROCEDURE ...() can't return a result set in the given context
Эту же ошибку выдает и PHPMyAdmin.
При этом процедуры, в которых не возвращается результат или в которых результат возвращается через OUT переменные, прекрасно работают везде! И в PHP скрипте и MySQL Query Browser и в PHPMyAdmin.

Подскажите, пожалуйста, как можно решить или обойти эту проблему?
Спасибо.

Вот пример процедуры и вызова ее:

DELIMITER $$
DROP PROCEDURE IF EXISTS `chblog`.`show_item` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `show_item`(IN in_id_item bigint(12))
BEGIN
SELECT name, content, tags FROM items WHERE id_item=in_id_item;
END $$
DELIMITER ;
--------------------------
<?php
$s_query = "CALL show_item(".$this->sv_id_item.")";
$result=mysql_query($s_query,Engine::$db_links['localhost']);
if (!$result)
{trigger_error($s_query." Query error:".mysql_error(), E_USER_ERROR);}
?>
 

tony2001

TeaM PHPClub
>Пробовал на MySQL 5.0.24, PHP 5.1.2, PHP 5.2, Apache 2.2.4, Apache 1.3.33 WindowsXP, Fedora
это чудесно, но может всё-таки перейдем к делу и ты покажешь саму процедуру?
 
Приведенная процедура не является единственной неработающей. Любой запрос SELECT в любой другой процедуре возвращает ошибку, приведенную выше.
 

tony2001

TeaM PHPClub
[m]mysqli_multi_query[/m]
этот запрос возвращает два результата: один от CALL и второй - от SELECT.
 
Автор оригинала: tony2001
[m]mysqli_multi_query[/m]
этот запрос возвращает два результата: один от CALL и второй - от SELECT.
Спасибо!
Очень интересно! Выходит, что нужно использовать mysqli для работы с MYSQL?
А никак нельзя сделать так процедуру, чтобы она возвращала один нужный мне результат запроса SELECT, а не два?
Неужели все пользуются mysqli, когда работают с процедурами?
 

tony2001

TeaM PHPClub
>Выходит, что нужно использовать mysqli для работы с MYSQL?

Although this MySQL extension is compatible with MySQL 4.1.0 and greater, it doesn't support the extra functionality that these versions provide. For that, use the MySQLi extension.
>А никак нельзя сделать так процедуру, чтобы она возвращала один нужный мне
> результат запроса SELECT, а не два?

Не думаю.

>Неужели все пользуются mysqli, когда работают с процедурами?

А что в этом такого ужасно удивительного?
 
Сверху