2016-03-30 13 views
0

Tüm yapmam gereken, tablonun tüm alanlarını sayar, burada postid=38.Nerede yanlış olduğumdan emin değilim. Sadece 5 satırlık kod

Ancak kodum her zaman postid=38 numaralı belgede yazdığım numara ne olursa olsun ekranda "1" yazıyor.

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

COUNT, her zaman tek bir satır döndürür; bir satır ve satır verisindeki değer sayım değeri olduğunu okuyun. Bazen toplama işlevleriyle bir takma adın kullanılmasına yardımcı olduğunu, bu satırdan –

+0

satırına erişmeyi kolaylaştırdığını unutmayın. Sorgu sonucunu okumak yerine "mysql_num_rows" satırları. –

+0

sayısını içeren 1 alanla 1 satır döndürecektir. Lütfen [mysql_ * 'işlevlerini kullanmayı bırakın] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in- pHP). [Bu uzantılar] (http://php.net/manual/en/migration70.removed-exts-sapis.php) PHP 7'de kaldırılmıştır. [Hakkında] öğrenin (http://en.wikipedia.org/ wiki/Prepared_statement) [PDO] için ifadeler (http://php.net/manual/en/pdo.prepared-statements.php) ve [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) ve PDO kullanmayı düşünün, [gerçekten çok kolay] (http://jayblanchard.net/demystifying_php_pdo.html). –

cevap

-1

Bu deneyebilirsiniz:

Ayrıca
<?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); 
?> 

, emin postid bir dizedir olan tırnak arasına koyarak konum beri. Tamsayı olabilir gibi görünüyor. Veri tiplerine dikkat edin.

0

Ya yapabilirsiniz:

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

VEYA

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

çözüldü! Lütfen kapat. Orada kaç satır bilmek istiyorsanız

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

Lütfen sorunuzun "kapanması" için kabul edilen cevabınızı işaretleyiniz. Bu size kalmış! :) – Alfabravo

İlgili konular