Как создать хранимую процедуру в MySQL - PullRequest
0 голосов
/ 10 февраля 2012

Я создал следующую хранимую процедуру в MySQL ...

DELIMITER //
CREATE PROCEDURE GetMember(IN in_memberID int)
BEGIN
    SELECT *
    FROM Members
    WHERE MemberID = in_memberID;
END//



$result = mysql_query("CALL GetMember(".$memberID.")") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
    echo $row['Name'] . "</br>";
}

Но когда я звоню из php, он возвращает все записи в таблице Members, что я делаю не так?

EDIT: Когда я пытаюсь вызвать запрос в phpmyadmin, я получаю эту ошибку

CALL GetMember(1);

#1312 - PROCEDURE myDb.GetMember can't return a result set in the given context

Ответы [ 2 ]

0 голосов
/ 12 января 2016
use Database_Name;

DELIMETER $$

DROP PROCEDURE IF EXISTS Proc$$
CREATE PROCEDURE Proc()
       BEGIN
               DECLARE x INT;
               SET x = 1;
               WHILE x <= 110000 DO
                   INSERT INTO Table_Name (word, mean) VALUES ('a', 'a mean');
                   SET x = x + 1;
               END WHILE;
       END$$

DELIMITER ;
0 голосов
/ 07 августа 2013

какая версия PHP?

В PHP 5.2.3 и PHP 5.2.4 есть ошибка с процедурами: https://bugs.php.net/bug.php?id=42548

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...