Maison > Questions et réponses > le corps du texte
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粉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);
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 PROCEDURE
和 CREATE 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