2009-01-13 13 views
5

Moje próby wysłania zapytania do MySQL z PHP za pomocą instrukcji create procedury sklepowej (SP) zakończyły się niepowodzeniem. Czy to nie jest możliwe?Jak utworzyć procedurę przechowywaną MySQL z PHP?

Jeśli to możliwe, proszę podać przykład.

+0

http://forums.mysql.com/read.php?98, 161275,161275 –

Odpowiedz

0

Masz wystarczające przywileje na koncie, z którym łączysz się z PHP? Od the manual

Począwszy od MySQL 5.0.3, wykonanie europejskiego CREATE PROCEDURE lub CREATE FUNCTION oświadczenie, konieczne jest, aby mieć TWORZENIE rutynowej przywilej

Zobacz również Stored Routines and MySQL Privileges w instrukcji.

2

Dopóki:

następnie przechowywano powinno działać. Sprawdź je i skontaktuj się z nami.

1

Oprócz przywilejów, co może spowodować całkiem prawdopodobnie problem jest, że faktycznie mysql_query ($ query) może pracować tylko jedno polecenie za rozmowę!

To, co musisz zrobić, to podzielić polecenia na sevaral mysql_query ($ query) -calls.

co mam na myśli coś takiego:

$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); 
0

Nie można użyć instrukcji DELIMITER z poziomu PHP. Dlatego

1) remove the DELIMITER statements 
2)and change all your delimiters to ; 

Jest to denerwujące, bo teraz trzeba mieć wersję z ogranicznikami dla rozwoju i testowania w wierszu poleceń MySQL lub narzędzia MySQL jak SQLyog lub warsztatu MySQL, a wersja bez ograniczników korzystać za pośrednictwem PHP program.

Jeśli ktoś zna lepszy sposób, chciałbym to usłyszeć - (ale nie przez wywołanie skryptu powłoki OS. - że ma zbyt wiele problemów resztkowe)

I trzeba SUPER uprawnienia.

Powiązane problemy