Heim > Fragen und Antworten > Hauptteil
Meine Versuche, MySQL mithilfe der Create-Anweisung einer Stored Procedure (SP) von PHP abzufragen, sind fehlgeschlagen. Ist das unmöglich?
Wenn möglich, geben Sie bitte ein Beispiel.
P粉5461798352023-10-25 10:23:20
除了特权之外,很可能导致您出现问题的是,实际上 mysql_query($query) 每次调用只能执行一个命令!
所以你要做的就是将命令分成几个 mysql_query($query) -调用。
我的意思是这样的:
$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);
P粉0088297912023-10-25 00:51:17
MySQL手册对如何创建有清晰的概述存储过程(13.1.15。CREATE PROCEDURE
和 CREATE FUNCTION
语法)。
下一个问题是:您用来访问 MySQL 数据库的帐户是否具有实际创建过程的适当权限?
有关此问题的详细信息可以在这里找到: 19.2.2。存储例程和 MySQL 权限