php - 为什么我一直得到 'array' 作为查询的输出?

标签 php mysql html sql

<分区>

我正在尝试查询以输出特定事件的参赛者人数。该表名为“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反而。它更安全、更灵活,如果您刚刚起步, 是一个更好的学习选择。

关于php - 为什么我一直得到 'array' 作为查询的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11970837/

相关文章:

php - 连接多数据库信息

css - 背景位置不适用于 IE

php - 如何从 PHP 中的 mysql 数据库中获取 unicode 字符

html - 控制应用缓存下载

php - osx 10.10 Curl POST 到 HTTPS url 给出 SSLRead() 错误

php - 是否有基于 Zend Framework 2 构建的 CMS/CMF?

php在数组上循环以计算数据库中的条目

mysql - 我如何在mysql中编写一个触发器来在插入之前检查重复记录

php - Android Google Maps v2 从 JSON 数组 php mySQL 添加 map 标记

mysql - 无法绑定(bind)端口 3306,而 "netstat"表示 3306 可用?