尝试创建一个存储过程,该存储过程包含select语句中使用的多个IN变量:
CREATE PROCEDURE getevents
(我的今天varchar(64),下一周varchar(64),lon varchar(64),lat varchar(64),我的限制INT)开始选择事件。Open_All_Year,事件。类别为PicureName,事件。EventID,事件。标题,事件。Long_Description,事件。Times_Fees,事件。Event_Attraction,事件。Event_Street1,事件。Event_Street2,事件。Event_Postcode,事件。Event_Town,事件。Event_County,事件。Latitude_degs,事件。Longitude_degs,事件。Short_Description,CASE WHEN(opening_dates。Start_Date
给出了一个无用的#1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第6行“”附近要使用的正确语法
在mysql存储过程中不能有未扩展的php变量,例如$myLimited或$mynow。要么在运行创建过程命令时扩展它们,使它们成为固定参数,要么在调用存储过程时创建带有参数的存储过程并提供参数运行时。
查询中的参数仅通过名称引用,不需要像php中那样使用$prefix,也不需要用单引号将它们括起来以标记字符串。
此外,请注意如何定义存储过程,特别是分隔符命令的使用-请参阅mysql留档定义存储过程