5
我想创建一个Magento模块安装程序,它将依次创建一个存储过程。Magento:创建存储过程
此过程的代码已经运行:Toad,phpmyadmin和mysql.exe命令行。它在所有3中都有效。但是,当Magento在安装过程中执行它时,它会失败。
错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
Magento的代码:
$installer = $this;
$installer->startSetup();
$sql = <<<____SQL
DELIMITER //
CREATE PROCEDURE GetStuff(
IN pSomeId int(11)
)
BEGIN
DECLARE pOtherId INT;
SELECT some_var INTO pOtherId FROM some_table WHERE id = pSomeId;
END;//
DELIMITER ;
____SQL;
$installer->run($sql);
$installer->endSetup();
还有介于两者之间的,当然一些其他的代码,但简化并没有改变错误。 我的猜测是,这与Delimeters以及PDO/Magento如何对待它们有关。谢谢。
PHP 5.3,Windows 7的64,阿帕奇2 – djdy 2011-06-08 16:55:23