我寫了一個數據庫遷移PHP腳本,它循環了一系列SQL文件並執行它們的內容。它應該有助於自動完成項目的設置和更新。現在,我得到象這樣的錯誤:如何從PHP創建MySQL存儲過程?
mapCoursesToSport.sql: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER |
DROP PROCEDURE IF EXISTS mapCoursesToSport|
CREATE PROCEDURE mapCo' at line 1
我得到了同樣的錯誤,當我路過的腳本文件,以期定義,即使用DELIMITER
S還了。然後我找到了解決方法,只是從SQL文件中刪除分隔符。它的工作。但現在它不是一種選擇,因爲存儲過程確實需要定界符定義。
那麼,我怎樣才能從PHP定義MySQL存儲過程呢? (或者一般morre:如何把這個SDELIMITER
被handeled?)
http://stackoverflow.com/a/5025730/2153758你已經評論過了,下面的答案指出你必須將每個變量一個接一個地傳遞給'mysql(i)_query'而不是使用逗號。 – bwoebi 2013-04-22 18:02:29
謝謝你的提示,但它不適合我。我確實需要存儲過程中的分隔符。所以我不能將它們從代碼中移除。如果我這樣做,程序不會創建。 – automatix 2013-04-22 20:15:57
你不需要分隔符?分號應該按原樣傳遞...並且不要通過一個分隔符結束查詢 – bwoebi 2013-04-22 20:20:32