为什么我一直将'array'作为查询的输出?

ten*_*oin 0 html php mysql sql

我正在尝试进行查询以输出特定事件的参赛者数量.该表名为"payment",事件的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']; ?>
Run Code Online (Sandbox Code Playgroud)

Flu*_*feh 10

你继续得到一个数组,因为你用它来获取它:

mysql_fetch_array($entrant_query);
Run Code Online (Sandbox Code Playgroud)

fetch_array函数将返回行AS数组.

还有很多其他方法可以从数据库中返回一行 - 虽然我猜你正在寻找的是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"
  }
}
Run Code Online (Sandbox Code Playgroud)

最后,这些mysql_*函数已被弃用,您可能希望转而使用PDO.它是更安全,更灵活,如果你是刚刚起步,一个更好的选择学习.

  • +1.(mysql_函数是"不推荐使用",而不是"折旧".mysqli_是PDO的替代品.) (2认同)