如何在phpMyadmin mysql中创建函数

时间:2016-10-14 17:20:25

标签: mysql phpmyadmin

我有这个代码使用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的专家:/

谢谢大家。

1 个答案:

答案 0 :(得分:0)

首先,验证语法是否正确(可能通过不同的客户端或本地数据库运行)。如果您发现自己陷入困境,请仔细阅读有关该主题的official MySql documentation。它非常全面,可以为您提供一套很好的理解(特别是如果您是自动化数据库的新手)。

假设您的语法在另一个版本的系统上正常工作,phpMyAdmin不应该给出任何错误。如果你无法使代码工作,phpMyAdmin有一个原生的&#34;创建例程&#34;工具,您可以使用它来帮助自动化语法。

至于你的代码有多大的错误:你在第八行的嵌套定位似乎有点不合适。看来你正在尝试做一个strip标签方法,也许做一个正则表达式匹配和替换方法会简化你的努力。有许多MySQL字符串函数(您可以找到here的参考资料),使用您的方法获得创意!