我正在做这个选择:
$result = $dbh->query("SELECT clicks FROM table WHERE click_date = '".$current_date."'");
$result->execute();
$array = array();
while ($user = $result->fetch(PDO::FETCH_ASSOC)) {
array_push($array, $user['clicks'].",");
}
但是这会回来:
49572940
但它应该是:
4,9,5,7,2,9,4,0
有人可以帮我解决这个问题吗?
问候!
答案 0 :(得分:3)
尝试这种方式:
<?php
$sql = "SELECT clicks FROM table WHERE click_date = '$current_date'";
foreach ($dbh->query($sql) as $row) {
$array[] = $row['clicks'];
}
//now echo and use implode
echo implode(", ", $array);
?>
PDO :: query - 执行SQL语句,将结果集返回为 PDOStatement对象
答案 1 :(得分:0)
您应该使用fetchAll
来获取所有值,如果您想执行预准备语句,则必须使用prepare
而不是query
。
$sth = $dbh->prepare("SELECT clicks FROM table WHERE click_date = :current_date");
$sth->bindParam(':current_date', $current_date);
$sth->execute();
$result = $sth->fetchAll();
之后如果你想要一个用逗号分隔值的字符串,你可以使用implode作为@jason建议。
$str = implode(",", $result );