Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将包含mysql函数的mysql查询传递给PHP mysql\u查询_Php_Mysql_Function - Fatal编程技术网

将包含mysql函数的mysql查询传递给PHP mysql\u查询

将包含mysql函数的mysql查询传递给PHP mysql\u查询,php,mysql,function,Php,Mysql,Function,我有这个密码 DELIMITER $$ DROP FUNCTION IF EXISTS `GetNextID` $$ CREATE FUNCTION `GetNextID`() RETURNS INT DETERMINISTIC BEGIN DECLARE NextID INT; SELECT MAX(articleID) + 5 INTO NextID FROM table_article; RETURN NextID; END$$ DELIMITER ; INSERT INTO table_

我有这个密码

DELIMITER $$
DROP FUNCTION IF EXISTS `GetNextID` $$
CREATE FUNCTION `GetNextID`() RETURNS INT DETERMINISTIC
BEGIN
DECLARE NextID INT;
SELECT MAX(articleID) + 5 INTO NextID FROM table_article;
RETURN NextID;
END$$
DELIMITER ;
INSERT INTO table_article ( articleID, articleAlias ) VALUES ( GetNextID(), 'TEST' );
在phpMyAdmin中执行OK,但当我将此查询传递给mysql\u query PHP函数时失败/
我猜这是因为函数和分号。我该怎么办?

您必须声明NextID INT;并返回NextID;和另一条线;在分隔符$$内


我的建议是停止使用$$作为分隔符

分隔符
不是一个
MySQL
关键字:它是一个由客户端解析的保留字(如
MySQL
phpMyAdmin
等),允许拆分查询

您应该手动拆分它并提交三个查询:

DROP FUNCTION IF EXISTS `GetNextID`
,


在对数据库的三次单独调用中。

发布您的代码和收到的错误会有帮助。改用什么?你能用正确的方法重写代码吗?=]是的,我本来想去的,但是stackoverflow让我等3分钟;)干得好。。。
CREATE FUNCTION `GetNextID`() RETURNS INT DETERMINISTIC
BEGIN
DECLARE NextID INT;
SELECT MAX(articleID) + 5 INTO NextID FROM table_article;
RETURN NextID;
END
INSERT INTO table_article ( articleID, articleAlias ) VALUES ( GetNextID(), 'TEST' )