Selain keistimewaan, perkara yang paling mungkin menyebabkan masalah anda ialah mysql_query($query) sebenarnya hanya boleh melaksanakan satu arahan bagi setiap panggilan!
Jadi apa yang anda perlu lakukan ialah membahagikan arahan kepada beberapa mysql_query($query) -panggilan.
Apa yang saya maksudkan ialah ini:
$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);
Soalan seterusnya ialah: adakah akaun yang anda gunakan untuk mengakses pangkalan data MySQL mempunyai kebenaran yang sesuai untuk proses penciptaan sebenar?
Selain keistimewaan, perkara yang paling mungkin menyebabkan masalah anda ialah mysql_query($query) sebenarnya hanya boleh melaksanakan satu arahan bagi setiap panggilan!
Jadi apa yang anda perlu lakukan ialah membahagikan arahan kepada beberapa mysql_query($query) -panggilan.
Apa yang saya maksudkan ialah ini:
Manual
MySQL mempunyai gambaran keseluruhan yang jelas tentang cara membuat prosedur tersimpan (13.1.15.
CREATE PROCEDURE
和CREATE FUNCTION
Sintaks ).Soalan seterusnya ialah: adakah akaun yang anda gunakan untuk mengakses pangkalan data MySQL mempunyai kebenaran yang sesuai untuk proses penciptaan sebenar?
Butiran tentang isu ini boleh didapati di sini: 19.2.2. Rutin tersimpan dan kebenaran MySQL