我有这个代码使用PHP在db mysql中创建一个函数:
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty varchar(4000) )
RETURNS varchar(4000)
DETERMINISTIC
BEGIN
DECLARE iStart, iEnd, iLength int;
WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
BEGIN
SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
SET iLength = ( iEnd - iStart) + 1;
IF iLength > 0 THEN
BEGIN
SET Dirty = Insert( Dirty, iStart, iLength, '');
END;
END IF;
END;
END WHILE;
RETURN Dirty;
END;
|
DELIMITER
嗯,不工作,所以我想知道如何在phpMyadmin中创建这个功能。 我知道我必须改变一些东西,例如添加$$但我不知道如何或在哪里。
我不是mysql的专家:/
谢谢大家。
答案 0 :(得分:0)
首先,验证语法是否正确(可能通过不同的客户端或本地数据库运行)。如果您发现自己陷入困境,请仔细阅读有关该主题的official MySql documentation。它非常全面,可以为您提供一套很好的理解(特别是如果您是自动化数据库的新手)。
假设您的语法在另一个版本的系统上正常工作,phpMyAdmin不应该给出任何错误。如果你无法使代码工作,phpMyAdmin有一个原生的&#34;创建例程&#34;工具,您可以使用它来帮助自动化语法。
至于你的代码有多大的错误:你在第八行的嵌套定位似乎有点不合适。看来你正在尝试做一个strip标签方法,也许做一个正则表达式匹配和替换方法会简化你的努力。有许多MySQL字符串函数(您可以找到here的参考资料),使用您的方法获得创意!