Porque
SELECT left_id AS c1 FROM mlm_user_mst WHERE parent_id=a AND left_id>0;
no establece la variable c1, devuelve un conjunto con una columna llamada c1
quieres
SELECT left_id INTO c1 FROM mlm_user_mst WHERE parent_id=a AND left_id>0;
Del mismo modo para c2.