【发布时间】:2017-12-12 19:33:52
【问题描述】:
我整天都在努力使用 PHP 显示 SQL 查询的结果。
我在数据库中有一个名为硬币的表,其中包含以下列:
- nr_unic(这是索引);
- rank;
- name;
- symbol;
- price_usd;
- price_btc;
我需要做的是获取每个硬币的值(来自name 字段)并显示symbol、price_usd、price_btc 和rank。包含我正在运行并尝试显示值的查询的代码是:
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// SQL QUERY
$sql= "SELECT rank, name, symbol, price_usd, price_btc, 24h_volume_usd FROM coins WHERE rank BETWEEN 1 AND 10 ORDER BY nr_unic DESC LIMIT 10";
$result = $conn->query($sql);
$rows = array();
if ($result) {
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
$rows[] = $row['name'] . " " . $row['price_usd'] . " " . $row['symbol'] . " " . $row['rank'];
foreach ($rows as $key => $value) {
echo $value;
}
}
mysqli_free_result ($result);
}
谢谢!
稍后编辑 根据@Máté Solymosi 的指示,我设法更新了代码并显示结果。现在的问题是它们被重复了:我得到第一枚硬币,然后是第一枚和第二枚,然后是第一枚、第二枚和第三枚……以此类推。 我使用的代码已更新
【问题讨论】:
-
使用 mysqli_fetch_row while($row = mysqli_fetch_row($result)) { echo $row['name'] 。 “”。 $row['price_usd'] 。 “”。 $row['symbol'] 。 “”。 $行['排名']; } 删除返回。
-
确保你知道
return声明的目的。 -
你在循环中做“返回”,你期望发生什么?
-
我也尝试使用 mysqli_fetch_row 和
echo而不是return但结果是一样的。但是,我在一个 WordPress 网站中使用它,我想为其制作一个短代码来运行此代码。这就是为什么我首先使用return。
标签: php mysql mysqli while-loop