【问题标题】:MySQL - Show result of countMySQL - 显示计数结果
【发布时间】:2013-09-23 23:05:17
【问题描述】:

我只是想在 MySQL (PHP) 中显示一个咨询的结果。 代码是:

$example = mysql_query("SELECT count(*) as text FROM table WHERE name = '$name'");
$qtd = mysql_num_rows($example);
while($data = mysql_fetch_array($qtd)){
$count = $data["text"];
}

echo "<h3>($count)</h3>";

错误:警告:mysql_num_rows():提供的参数不是第 9 行 C:\AppServ\www\Site\index.php 中的有效 MySQL 结果资源

【问题讨论】:

  • 你应该使用 PDO 什么的,而不是mysql_。该组扩展已被弃用!此外,text 是一种类型;尝试使用不同的名称或将其放在反引号中。
  • 您的查询失败。使用mysql_error 对其进行调试。
  • 为什么要选择 COUNT 并运行 mysql_num_rows?

标签: php mysql database count


【解决方案1】:

改变这个

 while($data = mysql_fetch_array($qtd)){
 $count = $data["text"];
 }

while($data = mysql_fetch_array($example)){
 $count = $data["text"];
  }

编辑: 你不需要在这里做一个while循环。

你应该这样做

     $example = mysql_query("SELECT count(*) as text FROM table WHERE name = '$name'");
     $data = mysql_fetch_array($example) ;
     $count = $data["text"];
     echo "<h3>".$count."</h3>";

【讨论】:

  • 这是一个很好的建议,但它没有解决提供的错误消息。查询一开始就失败了。
  • 是的,因为你试图获取 mysql_num_rows 并且它是错误的
  • $qtd = mysql_num_rows($example); 没用。您的查询有一个单行结果集,其中包含计数。同一行也不正确;您不能计算 SQL 语句的行数,而是计算语句生成的结果集。
  • 当他获取 mysql_num_rows 时,它会在该行中抛出错误,因此请通过我的解决方案修复您的错误
  • $qtd = mysql_num_rows($example); 正如 Ollie 所说,在这里没有用处
【解决方案2】:

这应该可行,您不需要使用 while 语句。

$query = mysql_query("SELECT * FROM table WHERE name = '$name'");
$count = mysql_num_rows($query);
echo $count;

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 2017-08-30
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多