首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP执行mysql“创建函数”语句

问用PHP执行mysql“创建函数”语句
EN

Stack Overflow用户
提问于 2013-01-28 19:21:45
回答 1查看 6.8K关注 0票数 8

我想从PHP中运行以下mysql创建函数语句:

代码语言:javascript
复制
DELIMITER $$
CREATE FUNCTION `myFunc`(`instring` varchar(4000)) RETURNS int(11)
    NO SQL
    DETERMINISTIC
    SQL SECURITY INVOKER
BEGIN
    DECLARE position int;
    ....here comes function logic
    RETURN position;
END$$
DELIMITER ;

但是我得到了mysql错误:

检查与您的MySQL服务器版本对应的手册,以获得在“划界器”附近使用的正确语法。

我能做什么?我可以在没有分隔符关键字的情况下执行create语句吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-28 19:26:27

您很可能不需要DELIMTER命令。它属于以MySQL为中心的客户端程序。

请尝试使用普通的旧分号:

代码语言:javascript
复制
if (!$mysqli->query("DROP PROCEDURE IF EXISTS p") ||
    !$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;")) {
    echo "Stored procedure creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

让PHP担心划界

警告

我从http://php.net/manual/en/mysqli.quickstart.stored-procedures.php获得了上面的代码

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14569528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档