Parce que
SELECT left_id AS c1 FROM mlm_user_mst WHERE parent_id=a AND left_id>0;
ne définit pas la variable c1, elle renvoie un ensemble avec une colonne nommée c1
Vous voulez
SELECT left_id INTO c1 FROM mlm_user_mst WHERE parent_id=a AND left_id>0;
De même pour c2.