我想用逗号分隔数据库中的值。我找不到一种SQL方法来做到这一点,如果我试图在while循环中做到这一点,它会在字符串的末尾加一个逗号,这是我不想要的。
private function retrieve_subjects(){
$dbh = $this->connect();
$stmt = $dbh->prepare("SELECT name FROM subject");
$stmt->execute();
$stmt->bindColumn('name', $name);
while($stmt->fetch(PDO::FETCH_BOUND)){
$sub .= $name;
}
return $sub;
}发布于 2012-12-19 04:36:17
试一试:
$sub = '';
while($stmt->fetch(PDO::FETCH_BOUND)){
if($sub == '')
$sub = $name;
else
$sub .= ',' . $name;
}发布于 2012-12-19 04:36:45
尝试使用implode。
PHP:http://php.net/manual/en/function.implode.php
MySQL (GROUP_CONCAT):http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat
发布于 2012-12-19 04:37:24
使用分隔符变量
$delim = "";
while($stmt->fetch(PDO::FETCH_BOUND)){
$sub .= $delim;
$sub .= $name;
$delim = ", ";
}https://stackoverflow.com/questions/13941016
复制相似问题