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