Eh bien, j'utilise des tables temporaires au lieu de variables de tableau. Ce n'est pas la meilleure solution, mais ça marche.
Notez que vous n'avez pas besoin de définir formellement leurs champs, créez-les simplement à l'aide d'un SELECT :
DROP TEMPORARY TABLE IF EXISTS my_temp_table;
CREATE TEMPORARY TABLE my_temp_table
SELECT first_name FROM people WHERE last_name = 'Smith';
(Voir aussi Créer une table temporaire à partir de l'instruction select sans utiliser Create Table .)