recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment créer une procédure stockée MySQL depuis PHP ?

Mes tentatives d'interrogation de MySQL à partir de PHP à l'aide de l'instruction Create d'une procédure stockée (SP) ont échoué. Est-ce impossible ?

Si possible, veuillez donner un exemple.

P粉794177659P粉794177659441 Il y a quelques jours662

répondre à tous(2)je répondrai

  • P粉546179835

    P粉5461798352023-10-25 10:23:20

    Outre les privilèges, la cause la plus probable de vos problèmes est que mysql_query ($query) ne peut en réalité exécuter qu'une seule commande par appel !

    Il vous suffit donc de diviser la commande en plusieurs appels mysql_query($query).

    Ce que je veux dire, c'est ceci :

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

    répondre
    0
  • P粉008829791

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

    Le

    Manuel MySQL donne un aperçu clair de comment créer des procédures stockées (13.1.15. CREATE PROCEDURECREATE FUNCTION Syntaxe ).

    La question suivante est : le compte que vous utilisez pour accéder à la base de données MySQL dispose-t-il des autorisations appropriées pour le processus de création proprement dit ?

    Des détails sur ce problème peuvent être trouvés ici : 19.2.2. Routines stockées et autorisations MySQL

    répondre
    0
  • Annulerrépondre