MySql存储过程里 如何接收返回的多个结果

BEGIN

DECLARE userNames varchar(500) DEFAULT ''; ##用户名字
DECLARE sums int DEFAULT 0; 
DECLARE namess varchar(500) DEFAULT ''; 
DECLARE i int; 
set i = 0;
select count(*) into sums from book where price = 123;
##select name into namess from book where price = 123;##这个是错误的因为这条sql 返回的有多条数据

while i < sums 
DO          
    set i = i+1;
end while;

END

上述select 中 结果为:
id name price
1 aa 123
2 bb 123

我想把得到的多条数据中 name字段里的值拿出来拼成 aa,bb 这样的字符传 怎么做,请大家帮帮我.感激不尽

$name = '';
$sql = "select name from book where price=123";
$que = mysql_query($sql) or die(mysql_error());
while($arr = mysql_fetch_assoc($que)){
$name .=','.$arr['name'];
}
echo substr($name,1);