$query = "DROP FUNCTION IF EXISTS fnElfProef (accountNr INT)";
mysql_query($query);
$query = "CREATE FUNCTION fnElfProef (accountNr INT)
RETURNS BOOLEAN
BEGIN
DECLARE i, totaal INT DEFAULT 0;
WHILE i < 9 DO
SET i = i+1;
SET totaal = totaal+(i*(accountNr%10));
SET accountNr = FLOOR(accountNr/10);
END WHILE;
RETURN (totaal%11) = 0;
END";
mysql_query($query);
$query = "SELECT * FROM mytable";
mysql_query($query);
除了特權之外,很可能導致您出現問題的是,實際上 mysql_query($query) 每次呼叫只能執行一個命令!
所以你要做的就是將指令分成幾個 mysql_query($query) -呼叫。
我的意思是這樣的:
MySQL手冊對如何建立有清晰的概述儲存程序(13.1.15。
CREATE PROCEDURE
和CREATE FUNCTION
語法) 。下一個問題是:您用來存取 MySQL 資料庫的帳戶是否具有實際建立過程的適當權限?
有關此問題的詳細資訊可以在這裡找到: 19.2.2。儲存例程和 MySQL 權限