Mysql存储过程where子句

时间:2010-04-16 20:25:43

标签: php sql mysql stored-procedures

好的,让我再试一次。

query(“CALL getemployee('$ eml')”); $ result = $ sql-> fetch_array(); ?> 这是我的存储过程:

Delimiter //
Create procedure getemployee(in eml varchar(50))
Begin
  Select * from employees where email = eml;
End//
Delimiter ;

我从浏览器获得的错误: “致命错误:在非对象上调用成员函数fetch_array()......”。

我使用phpmyadmin版本3.2.4和mysql客户端版本:5.1.41

2 个答案:

答案 0 :(得分:2)

您的CREATE PROCEDURE声明似乎无效。

您需要为您的过程以及您传递的参数指定名称。因此,您可能想尝试类似以下示例:

DELIMITER //
CREATE PROCEDURE procName (IN eml varchar(50))
BEGIN
   SELECT * FROM employees WHERE email = eml;
END//    
DELIMITER ;

答案 1 :(得分:1)

您使用的eml变量未定义。不应该如下:

Create procedure getemployee (in eml varchar(50))