首頁  >  問答  >  主體

如何從 PHP 建立 MySQL 預存程序?

我嘗試使用預存程序 (SP) 的建立語句從 PHP 查詢 MySQL 都失敗了。這不可能嗎?

如果確實可以的話,請舉個例子。

P粉794177659P粉794177659382 天前610

全部回覆(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
  • 取消回覆