php'de mysql tablosundan sayı (*) seçin


93

Mysql sorgu sonucunun hem değerini hem de satırını alabiliyorum.

Ama bir sorgunun tek çıktısını almakta zorlanıyorum. Örneğin:

$result = mysql_query("SELECT COUNT(*) FROM Students;");

Görüntülenecek sonuca ihtiyacım var. Ama sonucu alamıyorum.

Aşağıdaki yöntemlerle denedim:

  1. mysql_fetch_assoc()
  2. mysql_free_result()
  3. mysql_fetch_row()

Ama gerçek değeri göstermeyi (almayı) başaramadım.


9
Şimdiye kadar PDO kullanıyor olmalısınız .
Lucio

Yanıtlar:


204

asBuradan çağırmak için anahtar kelimeyi kullanarak toplamı takma ad vermeniz gerekir.mysql_fetch_assoc

$result=mysql_query("SELECT count(*) as total from Students");
$data=mysql_fetch_assoc($result);
echo $data['total'];

9
5.x sürümünden sonra bu sorgu çalışmayacaktır, sadece çalışmasını sağlamak için mysql'i mysqli ile değiştirin.
ajay verma

31

Yalnızca değere ihtiyacınız varsa:

$result = mysql_query("SELECT count(*) from Students;");
echo mysql_result($result, 0);

2
echo mysql_result(mysql_query("SELECT count(*) from Students;"),0);gereksiz bir değişkeni
kaydediyor

Doğru; cevabım soruya uyarlandı.
bmaupin

4
@eichertc php yorumlayıcısı değişkene her zaman dahili sahiptir, çünkü sonucun bir şekilde bellekte olması gerekir. Yani sizin yönteminiz kodu okumayı ve sürdürmeyi daha da kötüleştirir, IMHO.
Tom

14
$result = mysql_query("SELECT COUNT(*) AS `count` FROM `Students`");
$row = mysql_fetch_assoc($result);
$count = $row['count'];

Bu kodu deneyin.


11

Lütfen PDO kullanmaya başlayın.

mysql_ * PHP 5.5.0'dan itibaren kullanımdan kaldırıldı ve 7'de tamamen kaldırılacak. Yükseltmeyi kolaylaştıralım ve hemen kullanmaya başlayalım.

$dbh = new \PDO($dsn, $user, $password);
$sth = $dbh->prepare('SELECT count(*) as total from Students');
$sth->execute();
print_r($sth->fetchColumn());

5
$num_result = mysql_query("SELECT count(*) as total_count from Students ") or exit(mysql_error());
$row = mysql_fetch_object($num_result);
echo $row->total_count;

5

İşte PHP ile tablodaki satır sayısını gösterme kodu

$sql="select count(*) as total from student_table";
$result=mysqli_query($con,$sql);
$data=mysqli_fetch_assoc($result);
echo $data['total'];

ASecho $data['count(*)'];
Yazmaya

2

Mysqli kullanıcıları için kod şöyle görünecektir:

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);

$result = $mysqli->query("SELECT COUNT(*) AS Students_count FROM Students")->fetch_array();
var_dump($result['Students_count']);

veya:

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);

$result = $mysqli->query("SELECT COUNT(*) FROM Students")->fetch_array();
var_dump($result[0]);

1

asBuradan çağırmak için anahtar kelimeyi kullanarak toplamı takma ad vermeniz gerekir.mysqli_fetch_assoc

$result=mysqli_query($conn,"SELECT count(*) as total from Students");
$data=mysqli_fetch_assoc($result);
echo $data['total'];

1
$db  = new PDO('mysql:host=localhost;dbname=java_db', 'root', 'pass');
$Sql = "SELECT count(*) as `total` FROM users";
$stmt = $db->query($Sql);
$stmt->execute();
$total = $stmt->fetch(PDO::FETCH_ASSOC);
print '<pre>';
print_r($total);
print '</pre>';

Sonuç:

görüntü açıklamasını buraya girin


5. satıra ne gerek var? Derleyici / IDE, kullanılmayan '$ data' değişkeni konusunda uyarmalıdır.
ManuelJE

1

Bunu kullanabilir ve yükseltebilirsiniz mysqli_( mysql_*uzantıyı kullanmayı bırakın ...)

$result = mysqli_query($conn, "SELECT COUNT(*) AS `count` FROM `Students`");
$row = mysqli_fetch_array($result);
$count = $row['count'];
echo $count;

0
 $howmanyuser_query=$conn->query('SELECT COUNT(uno)  FROM userentry;');
 $howmanyuser=$howmanyuser_query->fetch_array(MYSQLI_NUM); 
 echo $howmanyuser[0];

bunca saat sonra mükemmel :)


0

Mysql v5.7.20 ile PHP v7.0.22 kullanarak bir tablodan satır sayısını şu şekilde alabildim:

$query = "select count(*) from bigtable";
$qresult = mysqli_query($this->conn, $query);
$row = mysqli_fetch_assoc($qresult);
$count = $row["count(*)"];
echo $count;

Üçüncü satır, şuna benzer bir yapı döndürür:

array(1) {
   ["count(*)"]=>string(4) "1570"
}

Bu durumda son yankı ifadesi şu şekilde geri dönecektir:

1570
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.