我不确定我错在哪里。只需5行代码

时间:2016-03-30 20:40:29

标签: php mysql count

我需要做的就是计算表格的所有字段,postid=38

但我的代码总是打印" 1"在屏幕上,无论我在postid=38写的是什么号码。

<? 
    $consulta2 = mysql_query("select count(*) from $tabla_db4 where postid='38';");    
    $result2 = mysql_num_rows($consulta2); 
    echo (string) $result2; 
?>

3 个答案:

答案 0 :(得分:0)

你可以这样做:

  <? 
   $consulta2 = mysql_query("select count(*) as count from $tabla_db4 where postid='38';");    
   $result2 = mysql_fetch_array($consulta2); 
   echo $result2['count']; 
 ?>

   $consulta2 = mysql_query("select* from $tabla_db4 where postid='38';");    
   $result2 = @mysql_num_rows($consulta2); 
   echo $result2; 

答案 1 :(得分:0)

解决!请关闭。

$sql = mysql_query(
       "SELECT * FROM `comentarios` WHERE `postid` =
                                         $registro[id] ORDER BY `postid` DESC",$conexion_db);
$cuenta = mysql_num_rows($sql);
echo $cuenta;

答案 2 :(得分:-1)

如果您想知道有多少行,可以试试这个:

<?php
    $query = "select count(*) as amount from $tabla_db4 where postid='38';";

    $result = mysql_query($query);

    if(!$result) {
        $message  = 'Invalid query: ' . mysql_error() . "\n";
        $message .= 'Whole query: ' . $query;
        die($message);
    }

    while($row = mysql_fetch_assoc($result)) {
        echo $row['amount'];
    }

    mysql_free_result($result);
?>

另外,你确定postid是一个字符串,因为你把它放在引号之间。看起来它可能是一个整数。注意数据类型。