搜索

首页  >  问答  >  正文

如何从 PHP 创建 MySQL 存储过程?

我尝试使用存储过程 (SP) 的创建语句从 PHP 查询 MySQL 都失败了。这不可能吗?

如果确实可以的话,请举个例子。

P粉794177659P粉794177659441 天前661

全部回复(2)我来回复

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

    回复
    0
  • P粉008829791

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

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

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

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

    回复
    0
  • 取消回复