[英]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.