Nasıl bir MySQL sorgu döndürülen satırların numaralarını sayabilirsiniz? PHP kullanarak ..
Sadece sonuç yineleme ve onları saymak olabilir. Eğer kullandığınız hangi dil ya da istemci kütüphanesi söylemiyorum, ama API bir sonucu satır sayısını söyleyebilir bir mysql_num_rows işlevini sağlamaz.
Aynı mysql_num_rows fonksiyonu olarak adlandırılan bu, örneğin, PHP maruz kalmaktadır. Eğer PHP kullanarak konum söz soruyu düzenlenmiş ettik, burada manuel çıplak kemikleri örnek:
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
echo "$num_rows Rows\n";
EDIT (3 years later!): mysql_ fonksiyonlar deprecated ve php gelecekteki sürümlerinde kaldırılacak, ancak yine de, örneğin, diğer korumalar benzer yöntemler bulacaksınız mysqli_stmt_num_rows ya da PDOStatement::rowCount
MySQL sorularınızı Counting Rows - bkz Sadece COUNT (*) kullanın. Örneğin:
SELECT COUNT(*) FROM foo WHERE bar= 'value';
Bir SINIR madde kullanılır ama SQL_CALC_FOUND_ROWS Sorgunuza SELECT FOUND_ROWS(); ardından kullanmak, onsuz olsun istiyorum kaç satır bilmek istiyorsanız olsaydım
SELECT SQL_CALC_FOUND_ROWS * FROM foo
WHERE bar="value"
LIMIT 10;
SELECT FOUND_ROWS();
Çok büyük tablolar için, bu özellikle verimli olacak değildir, ve bir sayı elde etmek için basit bir sorgu çalıştıran ve veri sayfalarını almak için sorguları çalıştırmadan önce önbelleğe daha iyiyiz.
Eğer Wordpress kullanarak veri alma ediyorsanız, o zaman satır sayısını erişebilirsiniz $ wpdb-> num_rows kullanılarak döndürülür:
$wpdb->get_results( $wpdb->prepare('select * from mytable where foo = %s', $searchstring));
echo $wpdb->num_rows;
Bir mysql sayısı sorguya dayalı belirli bir sayılmasını istiyorsanız o zaman bunu:
$numrows = $wpdb->get_var($wpdb->prepare('SELECT COUNT(*) FROM mytable where foo = %s', $searchstring );
echo $numrows;
Eğer güncellemeleri çalışan ya da siler eğer o etkilenen satır sayısı işlev çağrısı doğrudan döndürülen:
$numrowsaffected = $wpdb->query($wpdb->prepare(
'update mytable set val=%s where myid = %d', $valuetoupdate, $myid));
Bu $ wpdb-> güncelleme için de geçerlidir ve $ wpdb-> silin.
Eğer mysql_ veya mysqli_ fonksiyonlarını kullanarak konum varsayarsak, soru zaten başkaları tarafından cevap olmalıdır.
Eğer PDO kullanarak konum Ancak, ne yazık ki, bir select deyimi tarafından alınan satır sayısını döndürmek için kolay bir işlevi yoktur. (Genellikle, yerel bir değişkene atadıktan sonra) resultset üzerine sayısı () kullanmak zorunda.
Ya da sayı değil, veri, PDOStatement :: fetchColumn () SELECT COUNT üzerine (1) ... sonuç sadece ilgileniyorsanız.