插入存储过程和PHP?

时间:2013-01-03 10:58:24

标签: php mysql stored-procedures

我第一次尝试创建一个简单的存储过程。我已经对网络进行了搜索并发现了几个教程,但在尝试创建INSERT过程时仍然遇到一些错误?

我正在尝试这个:

DELIMITER // 
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))

BEGIN

SET @fname=fname; 
SET @lname=lname;

PREPARE STMT FROM 
"INSERT INTO users(fname,lname) VALUES (?,?)";

EXECUTE STMT USING @fname,@lname; 

END

我收到此错误: #1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在'my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))附近使用正确的语法。在第1行开始设置@ fname = fn'

希望得到帮助并提前致谢: - )

1 个答案:

答案 0 :(得分:1)

您使用“而不是”。这是您查询中的错误。正确的查询在下面给出

DELIMITER // 
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))

BEGIN

SET @fname=fname; 
SET @lname=lname;

PREPARE STMT FROM 
'INSERT INTO users(fname,lname) VALUES (?,?)';

EXECUTE STMT USING @fname,@lname; 

END //

或者你可以简单地使用

DELIMITER //
CREATE PROCEDURE my_insert(IN fname VARCHAR(50),IN lname VARCHAR(50))

BEGIN
INSERT INTO users(`fname`,`lname`) VALUES (fname,lname);


END //
相关问题