review变量函数系统

hc8w905p  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(234)

所以基本上,我尝试创建一个小东西,它输出星星,基于数据库保存的评级整数。问题是它似乎没有将数据库中的数字i放入变量中。以下是我使用的代码:

<?php
$productID = 100;
$con = mysqli_connect("localhost", "root", "", "example");
function connect()
{
    $con = mysqli_connect("localhost", "root", "", "example");
    // Check connection
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    } else {
     return $con;
    }
}

function getStars($con)
{
    $productID = 100;
    $sql       = "SELECT rating
       FROM reviews
      -- JOIN stockitemstockgroups USING (StockItemID)
      -- JOIN stockgroups USING (StockGroupID)
       WHERE reviewID = '5'
       ";
    $result    = $con->query($sql);

    if ($con && ($result->num_rows > 0)) {
        // output data of each row
        while ($row = $result->fetch_assoc()) {
            echo $row["rating"];
        }
    } else {
        echo "error";
    }
}
$value = getStars($con);
echo $value;
for ($x = 1; $x <= $value; $x++) {
echo '<div class="rating"><span>&#9733;</span></div>';
}
?>
r3i60tvu

r3i60tvu1#

我很难找到一个复制品,虽然我肯定这是一个。你没有从你的函数中返回任何东西,所以 $value 没有价值。

function getStars($con)
{
    $productID = 100;
    $sql       = "SELECT rating FROM reviews WHERE reviewID = 5";
    $result    = $con->query($sql);

    if ($result && ($result->num_rows > 0)) {
        // output data of first row
        $row = $result->fetch_assoc();
        return $row["rating"];
    } else {
        return false;
    }
}

一般来说,从来没有 echo 从一个函数。而且,不需要对可能是单个结果的内容进行循环。

相关问题