2016-03-30 11 views
0

私がする必要があるすべては、postid=38のテーブルのすべてのフィールドを数えます。どこが間違っているのか分かりません。コードのちょうど5行

しかし、私のコードは常に関係なく、私はpostid=38に書かれたものは数、画面上の「1」を印刷しません。

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

COUNTは常に1つの行を返します。その行を読み取ると、行データの値はカウント値です....時には、集計関数でエイリアスを使用すると、その行の値に簡単にアクセスできるようになります。 –

+0

クエリの結果を読み込む代わりに 'mysql_num_rows'行に追加します。カウントを保持する1つのフィールドで1行を返します –

+0

[mysql_ *関数を使用して停止]してください(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in- PHP)。 [これらの拡張機能](http://php.net/manual/en/migration70.removed-exts-sapis.php)はPHP 7で削除されました。[prepared](http://en.wikipedia.org/ [PDO](http://php.net/manual/en/pdo.prepared-statements.php)および[MySQLi](http://php.net/manual/en/mysqli.quickstart)のwiki/Prepared_statement)ステートメント.prepared-statements.php)、PDOの使用を検討してください。[これは本当に簡単です](http://jayblanchard.net/demystifying_php_pdo.html)。 –

答えて

-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は、文字列で、あなたは確かです。それは整数かもしれないようです。データ型に注意してください。

0

あなたは、このいずれかを行うことができます。

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

OR解決

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

を!閉めてください。

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

質問を「閉じる」ために回答を受け入れてください。それはあなた次第です! :) – Alfabravo

関連する問題