sql直接获取表行数的方法
stackoverflow 的朋友们大家好。 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像,并限制每页一定数量的图像。
$db = PDO object
$start = (pagenum x images per page)
$limit = (images per page)
$itemsdata = $db->query("SELECT id,name FROM gallery LIMIT $start,$limit")->fetchAll();
$numitems = $db->query("SELECT id FROM gallery")->rowCount();
例如,$imgsdata
是图库中所有图像的数组。 $numimgs
是图库中的图像数量。
您需要 $imgsdata
对数组中的每个图像执行 foreach 循环,而 需要 $numimgs
来生成页码(例如 << 1 2 3 4>>),
我的怨恨是 $db-> query("从画廊中选择 id")->rowCount();
这感觉完全像是某种作弊,是否有直接的方法来获取表中的行数,例如SELECT gallery.Rows
?
ps 目前我正在使用 SQLite,但我也需要它用于 MySQL 和 PostgreSQL。
Hi again people of stackoverflow.
I have a routine that has a step that I find unnecessary
lets say you want to get all the images from a gallery, and limit a certain number of images per page.
$db = PDO object
$start = (pagenum x images per page)
$limit = (images per page)
$itemsdata = $db->query("SELECT id,name FROM gallery LIMIT $start,$limit")->fetchAll();
$numitems = $db->query("SELECT id FROM gallery")->rowCount();
$imgsdata
is a array of all the images in a gallery for example.$numimgs
is the number of images that the gallery has.
you would need $imgsdata
to do a foreach loop on each image in the array, while$numimgs
is needed to generate the page numbering (e.g. << 1 2 3 4 >>)
my grudge is with $db->query("SELECT id FROM gallery")->rowCount();
It feels completely like some sort of cheat, isn't there a direct way to get the number of rows in a table, something like SELECT gallery.Rows
?
p.s. currently I'm using SQLite, but I'd need it for MySQL and PostgreSQL as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这将告诉您行数:
This will tell you the number of rows:
一个简单的 count() 聚合函数将快速返回行数
A simple count() aggregate function will return the number of rows quickly
我也是!
是的,这在 MySQL、SQLite 和 PostgreSQL 中应该同样可以正常工作。
Me too!
Yes, this should work the same just fine in MySQL, SQLite, and PostgreSQL.