2014-01-06 70 views
0

有一个代码工作的问题。它似乎没有工作。我有其他的代码工作正常,使用查询字符串等。我用一个查询字符串来显示表中的结果,并且工作正常。从phpmyadmin数据库中的计数功能phpmyadmin不工作

$queryString = "SELECT COUNT(*) FROM `tbl_response`"; 
$result3 = queryDatabase($queryString); 
while($stat = mysql_fetch_array($result3)){ 
    echo $stat 
} 
+1

尝试var_dump($ stat) –

+1

'echo $ stat'不起作用。 '$ stat'不是一个字符串,它是一个数组。 –

+0

试试'echo $ stat [0];'看看产生了什么。或'$ var [] = $ stat [0];在你的'while'循环中echo $ var;'。 –

回答

1

因为$stat是一个数组不是字符串,你需要使用print_r否则echo $stat[0]你的循环中。

话虽如此,你只会得到一行(和一个字段)返回,所以有一个更简单的方法来做到这一点。无需循环:

$queryString = "SELECT COUNT(*) FROM `tbl_response`"; 
$result3 = queryDatabase($queryString); 
echo mysql_result($result3,0); 

旁注:你需要迁移到mysqliPDO,您使用的是过时mysql方法。

1

您的MySQL语法似乎关闭。你必须将其设置为:

SELECT COUNT(*) FROM `tbl_response`; 

不过,我想设置一个名称为count真正方便地访问数据是这样的:

SELECT COUNT(*) as count FROM `tbl_response`; 

我也不清楚你更大的PHP框架是什么运行该查询,但这样我就直PHP写的是:

$queryString = mysql_query("SELECT COUNT(*) as count FROM `tbl_response`"); 
$result3 = mysql_fetch_assoc($queryString); 
echo $result3['count']; 

是的,那些正在使用过时的myql_调用,所以这基本上是相同的,但与mysqli_代替:

$queryString = mysqli_query("SELECT COUNT(*) as count FROM `tbl_response`"); 
$result3 = mysqli_fetch_assoc($queryString); 
echo $result3['count']; 
+0

OP确实有你在第一行代码中写的:'$ queryString =“SELECT COUNT(*)FROM'tbl_response'”;' –

+0

@ Fred-ii-,请重新阅读我的答案。他们没有'SELECT count(*)as count',就像我在我的版本中一样。 – JakeGould

+1

是的,我同意杰克,我注意到你的编辑。我认为它应该是“应该是......”作为你的开头句子。只是一个混合;-) –

0
$queryString = "SELECT COUNT(*) as number_of_responses FROM `tbl_response`"; 
$result3 = queryDatabase($queryString); 
while($stat = mysql_fetch_array($result3)){ 
    echo $stat['number_of_responses']; 
}