0

输入 :

$sql1 = "SELECT COUNT(*) FROM matchTrip where userTripId = :tripId";

$stmt1 = $this->db->prepare($sql1);

$stmt1->bindParam(':tripId', $trip, PDO::PARAM_INT);                                              

$temp = $stmt1->fetchObject();

echo(json_encode($temp));

输出:

 How to take value from array : 

 of which json_encode looks like this: {"COUNT(*)":"7"}

任何帮助将不胜感激。

4

5 回答 5

1

为什么不在 SQL 本身中给列一个别名呢?

$sql1 = "SELECT COUNT(*) as myCount FROM matchTrip where userTripId = :tripId";

使其余部分更容易使用。

于 2013-09-02T09:20:18.467 回答
0

你的意思是json_decode?你可以把它放在引号之间,它应该可以工作;$array["COUNT(*)"].

但是您也可以将“AS myCount”添加到您的 SQL 中。

于 2013-09-02T09:16:51.633 回答
0

如果要从您的代码中删除所有无用的东西

$sql  = "SELECT COUNT(*) FROM matchTrip where userTripId = ?";
$stmt = $this->db->prepare($sql);
$stmt->execute(array($table_of_user[$i]));
$count = $stmt->fetchColumn();

echo $count;
于 2013-09-02T09:20:27.893 回答
0

那么为什么不把 fecth 作为数组呢?

$temp = $stmt1->fetch(PDO::FETCH_ASSOC);
echo $temp['COUNT(*)'];
于 2013-09-02T09:20:30.390 回答
0

像这样使用:

$json = json_encode($temp);

echo $json->{'COUNT(*)'}; // 7
于 2013-09-02T09:22:18.643 回答