|
|
|
| Подскажите, как из php вызвать хранимую процедуру mysql, возвращающую один или несколько результатов? | |
|
|
|
|
|
|
|
для: bdron
(12.12.2006 в 21:37)
| | Что есть хранимая процедура? Бишь представление?
а через mysql_query разве нельзя? | |
|
|
|
|
|
|
|
для: Whi-teOoS
(12.12.2006 в 22:25)
| | хранимая процедура - это та, что вызывается с помощью call в mysql.
mysql_query("call myfunction()") всегда возвращает null | |
|
|
|
|
|
|
|
для: bdron
(12.12.2006 в 22:37)
| | А что в находится в myfunction() и не выдаёт ли чего функция mysql_error() после выполнения mysql_query()? | |
|
|
|
|
|
|
|
для: cheops
(12.12.2006 в 22:49)
| | код процедуры:
create procedure login(in name tinytext, in password tinytext)
begin
select emp.eNo, emp.eName, ePost
from employee as emp, users
where
users.uName = name && users.uPassword = password && users.eNo = emp.eNo;
end
|
а это код вызова:
$sql = "call login('$uName', '$uPassword');";
$result = mysql_query($sql);
|
Если не вызывать процедуру, а просто использовать ее запрос, то все работает.
mysql_error() возвращает PROCEDURE building.login can't return a result set in the given context | |
|
|
|
|
|
|
|
для: bdron
(12.12.2006 в 23:00)
| | У вас скорее всего используется клиентская библиотека версии ниже 5.0, которая "не понимает" хранимые процедуры и "не знает" как обрабатывать результат их выполнения. | |
|
|
|
|
|
|
|
для: cheops
(13.12.2006 в 01:47)
| | Расскажите, пожайлуйста, поподробнее. Клиентская библиотека которая входит в состав PHP?
У меня mysql 5.0.18 и php версии 5.1.2 в виде cgi приложения. Все это установлено на платформу windows xp и работает под управлением IIS v5.1. | |
|
|
|
|
|
|
|
для: bdron
(12.12.2006 в 21:37)
| | Все работает!
Перешел на использование mysqli_query совместно с mysqli_real_connect.
--
Спасибо всем интересовавшимся. | |
|
|
|