2015-04-23 64 views
0

基本上我试图返回对应于给定的标准,总列数:回声PDO查询作为PHP

$exec = $link->query("SELECT COUNT(*) FROM `requests` WHERE language='PHP'"); 
$result = $exec->fetch(PDO::FETCH_ASSOC); 

echo $result[0]; 

然而,但SQL查询是正确的,因为上面没有任何回报它在phpMyAdmin中执行时返回一个值。

回答

3

由于您明确使用了标记PDO::FETCH_ASSOC,您需要指向它返回的关联索引。我建议把一个别名上count()

SELECT COUNT(*) AS total FROM `requests` WHERE language='PHP' 

取出,然后进行访问:

echo $result['total']; 

另一种方法是使用->fetchColumn()

$count = $exec->fetchColumn(); 
echo $count; 
+0

其实我从来没有想过的期待进入查询本身。感谢您的时间。将尽快接受它。 – schmitsz

+0

@schmitsz指向索引'[0]'实际上应该给你一个未定义的索引,所以你应该总是打开错误报告。我很高兴这有帮助 – Ghost

+0

我的一个坏习惯是在开始标记后面经常做'error_reporting(0);'。 – schmitsz