审查具有变量函数的系统

问题描述 投票:0回答:1

所以基本上我试图根据数据库保存的评级整数创建一个输出星星的小东西。问题是它似乎没有把变量中的数字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>';
}
?>
php mysql
1个回答
0
投票

我找不到复制品,但我确信这是一个。你没有从你的函数返回任何东西,所以$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从功能。而且,不需要对可能是单个结果的循环进行循环。

© www.soinside.com 2019 - 2024. All rights reserved.