Lorsque vous travaillez avec des tableaux de chaînes de longueur variable, les transmettre en tant que paramètres aux routines stockées MySQL peut poser un défi. Pour surmonter ce problème, une solution alternative consiste à concaténer les valeurs du tableau en une seule chaîne et à utiliser des instructions préparées.
L'extrait de code suivant décrit le processus :
DELIMITER $$ CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255)) BEGIN SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END $$ DELIMITER ;
Pour utiliser cette procédure stockée , vous pouvez initialiser une variable chaîne avec les valeurs du tableau séparées par des virgules et appeler la procédure en passant la variable en argument :
SET @fruitArray = '\'apple\',\'banana\''; CALL GetFruits(@fruitArray);
Cette solution vous permet effectivement pour transmettre un tableau de valeurs de chaîne à une routine stockée MySQL et travailler avec les données dans une table en mémoire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!