suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie erstelle ich eine gespeicherte MySQL-Prozedur aus PHP?

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粉794177659P粉794177659400 Tage vor626

Antworte allen(2)Ich werde antworten

  • P粉546179835

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

    Antwort
    0
  • P粉008829791

    P粉0088297912023-10-25 00:51:17

    MySQL手册对如何创建有清晰的概述存储过程(13.1.15。CREATE PROCEDURECREATE FUNCTION 语法

    下一个问题是:您用来访问 MySQL 数据库的帐户是否具有实际创建过程的适当权限?

    有关此问题的详细信息可以在这里找到: 19.2.2。存储例程和 MySQL 权限

    Antwort
    0
  • StornierenAntwort