我正在尝试查询以输出特定事件的参赛者人数。该表名为“payments”,事件 ID 在“itemid”列中。这是我创建的,但它似乎在浏览器中不起作用,但在 phpMyAdmin 中运行良好。每次我加载页面而不是看到数字时,我都会看到“Array”作为查询的输出。
修复它:
$res = mysql_query("SELECT COUNT(*) AS entrants FROM payments WHERE itemid='Sample Event 1'") or die();
$row = mysql_fetch_array($res,MYSQL_ASSOC);
<?php echo $row['entrants']; ?>
你一直得到一个数组,因为你用这个把它作为一个获取:
mysql_fetch_array($entrant_query);
fetch_array 函数将行作为数组返回。
还有许多其他方法可以从数据库中返回一行 - 虽然我猜您正在寻找的方法是 fetch_row
你可以试试var_dump而不是查看返回的内容。
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
// output:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
最后,mysql_*
函数已弃用,您可能想看看移动到 PDO反而。它更安全、更灵活,如果您刚刚起步, 是一个更好的学习选择。