Execute a instrução mysql “create function” com o PHP

Eu quero executar a seguinte declaração de function de criação do mysql partir do PHP:

 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 ; 

Mas eu recebo esse erro mysql:

verifique o manual que corresponde à sua versão do servidor MySQL para a syntax certa usar próximo de ‘DELIMITER’

O que eu posso fazer? Posso executar uma declaração de criação sem a palavra-chave DELIMITER?

Você provavelmente não precisa do comando DELIMTER . Isso pertence a programas de cliente centrados no MySQL.

Por favor, tente com um ponto e vírgula simples:

 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; } 

e deixe o PHP se preocupar em delimitar

EMBARGO

Recebi o código acima em http://php.net/manual/en/mysqli.quickstart.stored-procedures.php

    Intereting Posts