【问题标题】:How to display average values from MySQL table如何显示 MySQL 表中的平均值
【发布时间】:2017-04-20 11:11:37
【问题描述】:

我有一个 MySQL 数据库,其中包含各种视频游戏和用户帐户的详细信息。用户能够评论游戏并将分数放入评论表中。 我正在尝试检索每场比赛的平均得分并将其显示在网页上。我在 PHP 中的 SQL 语句如下所示

$sqlOverall = "SELECT CAST(AVG('scoreOverall') AS DECIMAL('10,1')) 
               FROM 'ratings' 
               WHERE gameID = '$id'";
$scoreOverall = mysqli_query($conn, $sqlOverall);

但是当我尝试回显 $scoreOverall 时,它返回空白。

【问题讨论】:

  • 从表名中去掉quotes,改为使用backtick

标签: php mysql


【解决方案1】:
SELECT CAST(AVG(scoreOverall) AS DECIMAL(10,1)) 
               FROM ratings 
               WHERE gameID = '$id';

试试上面的代码。 希望这会有所帮助。

【讨论】:

  • 返回错误“可捕获的致命错误:类 mysqli_result 的对象无法在第 77 行转换为字符串”。在第 77 行,我正在回显 $id 在我尝试此 SQL 语句之前回显
【解决方案2】:

试试下面的查询

$selquery="SELECT CAST(AVG(scoreOverall) AS DECIMAL(10,1)) FROM ratings WHERE gameID='$id'";
$result= mysqli_query($conn, $selquery);

【讨论】:

  • 返回错误“类 mysqli_result 的对象无法转换为字符串”当我尝试回显 $scoreOverall 时
  • $result 变量包含一个对象(类型为 mysqli_result),您可以从中获取您需要输出的 scoreOverall。 echo $result->fetch_object()->scoreOverall;
【解决方案3】:

它工作正常。希望对你有帮助

$sqlOverall="SELECT CAST(AVG(scoreOverall) AS DECIMAL(10,1)) FROM ratings WHERE gameID=$id";
$scoreOverall = mysqli_query($conn, $sqlOverall);
foreach ($scoreOverall as $value) { 
    $scoreOverall = $value['CAST(AVG(queue_status) AS DECIMAL(10,1))']; 
    echo $scoreOverall;
}

【讨论】:

    猜你喜欢
    • 2020-04-07
    • 2021-06-25
    • 1970-01-01
    • 2020-02-29
    • 2011-11-11
    • 2015-04-23
    • 2014-12-30
    • 2017-04-12
    • 1970-01-01
    相关资源
    最近更新 更多