【问题标题】:Display the results of a SELECT COUNT(*) in PHP在 PHP 中显示 SELECT COUNT(*) 的结果
【发布时间】:2014-01-23 06:47:20
【问题描述】:

当前试图在我的网站中显示来自 SQL 的 SELECT COUNT(*) 的结果。我是 PHP 和 SQL 的 100% 新手,所以了解这一定是基础知识!如果有人能推荐一本好书或网站来学习,那就太好了。

这是我当前的代码:

<?php
include_once 'includes/db_connect.php';
include_once 'includes/functions.php';

sec_session_start();
$sql = ("SELECT COUNT(*) FROM project_directory");
$result = mysql_fetch_array($sql);
?>

<?php echo $result ; ?> 

如果我在 phpMyAdmin 的 SQL 框中运行以下命令,结果是 28 并且可以工作

SELECT COUNT(*) FROM project_directory

感谢任何人的帮助或建议。

【问题讨论】:

    标签: php sql count


    【解决方案1】:

    您没有使用 mysql_query() 函数执行查询。

    你需要这样做

    <?php
    include_once 'includes/db_connect.php';
    include_once 'includes/functions.php';
    
    sec_session_start();
    
    $sql = ("SELECT COUNT(*) FROM project_directory");
    $rs = mysql_query($sql);
     //-----------^  need to run query here
    
     $result = mysql_fetch_array($rs);
     //here you can echo the result of query
     echo $result[0];
    
    ?>
    
    <?php echo $result[0]; ?> 
    

    注意:如果您已经开始学习 PHP/Mysql,请尝试使用 mysqli_* 函数。 mysql_ 将在未来的 PHP 版本中被弃用。

    【讨论】:

    • 嗨 Maz,我收到以下错误警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在
    • 请先检查您的数据库连接是否正常。 mysql_connect 没问题,那么 mysql_select_db 是正确的。第三。打印您的查询并直接在 phpmyadmin 中运行它,看看查询中没有问题
    【解决方案2】:

    $result 是一个数组,所以你应该使用$result[0]$result[0][0]

    如果您使用print_r($result),您将看到数组的结构以及您应该使用的结构。

    你也没有使用mysql_query($sql)
    你应该像这样使用它:

    $result = mysql_query($sql);
    $out = mysql_fetch_array($result);
    print($out[0][0]); // or print($out[0]);
    

    【讨论】:

    • $result = mysql_fetch_array($sql); 会导致错误,因为 mysql_fetch_array() 方法需要资源参数,但 OP 使用 $sql 这是一个字符串。
    • @TunZarniKyaw thanx 兄弟...我没注意到。
    • 太棒了!你的答案似乎是正确的!我希望 OP 注意到您的更改并接受为正确答案
    • 这是唯一一个对我有用的.. 天哪.. 这有多难.. 很明显 $sql = "SELECT COUNT(*) FROM genericsignup WHERE REF LIKE '".$compref ."'"; $query = mysqli_query($db_conn,$sql); $out = mysqli_fetch_array($query);打印($out[0]);
    【解决方案3】:

    你好,如果你比较新鲜,那么你可以阅读 w3schools.com 享受

    <?php
    include_once 'includes/db_connect.php';
    include_once 'includes/functions.php';
    
    $sql = "SELECT COUNT(*) as count FROM project_directory";
    $result = mysql_num_rows($sql);
    $my=$result['count'];
    echo $my;
    ?>
    

    【讨论】:

    • 再次! $result = mysql_num_rows($sql); 将导致错误,因为 mysql_num_rows() 方法需要 resource 参数,但 $sql 只是一个字符串。答案不正确!
    • 我很困惑,没有任何效果...我继续收到许多错误。我以为这很容易?这似乎比预期的要难得多。
    • 这很容易,@tgcowell,请再次检查 Amir NooriAgha Umair Ahmed 的答案。他们的答案已更正
    【解决方案4】:
    $qry_appr = "SELECT COUNT(*) FROM comments WHERE admin_panel_id ='$id' AND status = 'ON'";
    $qry_data = mysqli_query($con, $qry_appr);
    $approve_count = mysqli_fetch_array($qry_data);
    $toatalCount = array_shift($approve_count);
    echo $toatalCount;
    

    这也可以,但这是通过移动获取数组返回 0 索引值。这可以在没有别名的情况下使用。欢迎大家

    【讨论】:

      【解决方案5】:

      如果您是 php 和 mysql 新手,请尝试使用 mysqli 而不是 mysql

      <?php
      include_once 'includes/db_connect.php';
      include_once 'includes/functions.php';
      
      $sql = "SELECT COUNT(*) FROM project_directory";
      $query = mysql_query($sql);
      $result = mysql_num_rows($query);
      echo $result ;
      ?>
      

      【讨论】:

      • $result = mysql_num_rows($sql); 将导致错误...因为方法 mysql_num_rows() 需要 resource 参数,但 $sql 只是一个字符串。
      • 你需要先执行查询 $query = mysql_query($sql);然后 $result = mysql_num_rows($query);抱歉没有写执行查询
      【解决方案6】:

      你有两个选择。

      从count查询返回的资源中获取结果:

            $resource = mysql_query("SELECT COUNT(col) FROM table");
            $count = mysql_result($resource,0);
      

      或者,从查询返回的资源中获取行数(不计)。

            $resource = mysql_query("SELECT col FROM table WHERE col IS NOT NULL");
            $count = mysql_num_rows($resource);
      

      我建议你使用第一个,原因是当你只需要计数时,不需要从表中提取所有数据。

      【讨论】:

      • $rows = mysql_num_rows($sql); 将导致错误,因为mysql_num_rows() 方法需要 resource 作为参数,而$sql 是一个字符串
      • 我已经尝试了上面的代码...现在我收到以下错误警告:mysql_num_rows() 期望参数 1 是资源,字符串在
      【解决方案7】:
      $abc="SELECT count(*) as c FROM output WHERE question1=4";
      $result=mysqli_query($conn,$abc);
      if($result)
      {
          while($row=mysqli_fetch_assoc($result))
          {
              echo $row['c'];
          }       
      }
      

      ITS 完全正常

      【讨论】:

        猜你喜欢
        • 2022-07-06
        • 1970-01-01
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多