[英]mySQL PHP print results from multiple rows
这是一个初学者的PHP / SQL问题。
基本上,我有一个像这样的数据库
Poem_id | Poem_content | Poem_by | Poem_hotscore
------------ ----------------- ----------- -----------------
1 | Blah Bleh<br>B.| 4 | 5342.3920349
------------ ----------------- ----------- -----------------
7 | Blah Bluu<br>F.| 4 | 5003.3920382
------------ ----------------- ----------- -----------------
9 | Blerp Bloop Foo| 34 | 4300.7281209
每首诗
id
member_id
的成员编写 hotscore
我的问题是:如何获得前三名的分数并显示这些诗歌的所有数据?
到目前为止,我拥有的PHP
代码是:
if ($rankerrows = $mysqli->prepare("SELECT * FROM poems ORDER BY poem_hotscore DESC")) {
$rankerrows->execute();
$rankerrows->store_result();
while ($row = mysqli_fetch_assoc($rankerrows)) {
print_r($rankerrows);
}
}
我如何从每一行中获取数据? 我知道如何做一排,但是我不确定如何做三排。
在此先感谢您的任何建议。
每行中的数据都在$row
,所以打印出来,而不是$rankerrows
。
while ($row = mysqli_fetch_assoc($rankerrows)) {
print_r($row);
}
您可以在查询末尾添加一个LIMIT 3
子句,这样它只会返回前3行。
另一个答案不起作用,但是可以:
if ($rankerrows = $mysqli->prepare("SELECT * FROM poems ORDER BY poem_hotscore DESC LIMIT 3")) {
$rankerrows->execute();
$row = array();
stmt_bind_assoc($rankerrows, $row);
/* Store data from poems */
$poem_id=array();
$poem_title=array();
$i=0;
while ($rankerrows->fetch()) {
$poem_id[$i]=$row['poem_id'];
$poem_title[$i]=$row['poem_title'];
$i++;
}
在另一个答案中使用mysqli_fetch_assoc()
给我一个错误,它只能在mysqli_result
而不是stmt
上mysqli_result
。 由于我没有get_result()
的驱动程序以及所有的好东西,因此这是有效的解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.