【发布时间】:2012-03-02 09:35:10
【问题描述】:
我在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 调用它时,它会返回成员表中的所有记录,我做错了什么?
编辑: 当我尝试在 phpmyadmin 中调用查询时,出现此错误
CALL GetMember(1);
#1312 - PROCEDURE myDb.GetMember can't return a result set in the given context
【问题讨论】:
-
也许将 IN var 更改为 in_memberId 以避免混淆?
-
我同意@ethrbunny。我认为它使程序混乱。
-
@MelvinProtacio 我已添加到 php 中。
-
你能从 mysql cmd 行调用它吗?它看起来很简单。
-
你能在调用 sp 之前检查 $memberID 是否不为空吗?
标签: php mysql stored-procedures phpmyadmin