You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将三个SQL查询的整数结果相加并在PHP中输出?

如何将三个SQL查询的结果求和并输出?

我来帮你搞定这个需求!首先得提个重要的点:你原来的代码直接把POST参数拼进SQL语句里,存在严重的SQL注入风险,所以咱们先改成更安全的预处理语句写法,再实现求和逻辑。

下面是完整的修改后的代码,我会一步步给你解释:

<?php
define('HOST','mywebsite.com');
define('USER','username');
define('PASS','password');
define('DB','imagebase');

// 连接数据库并检查连接错误
$con = mysqli_connect(HOST, USER, PASS, DB);
if (!$con) {
    die("数据库连接失败: " . mysqli_connect_error());
}

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // 获取POST参数
    $val1 = $_POST['sval1'];
    $val2 = $_POST['sval2'];
    $val3 = $_POST['sval3'];

    // 定义一个通用函数来获取价格,避免重复代码
    function getPrice($conn, $name) {
        // 使用预处理语句防止SQL注入
        $sql = "SELECT price FROM images WHERE name = ?";
        $stmt = mysqli_prepare($conn, $sql);
        if (!$stmt) {
            return 0; // 预处理失败返回0,也可以根据需求抛出错误
        }
        mysqli_stmt_bind_param($stmt, "s", $name);
        mysqli_stmt_execute($stmt);
        $result = mysqli_stmt_get_result($stmt);
        // 获取结果,如果没有找到记录则返回0
        $row = mysqli_fetch_assoc($result);
        return $row ? (int)$row['price'] : 0;
    }

    // 获取三个查询的价格值
    $price1 = getPrice($con, $val1);
    $price2 = getPrice($con, $val2);
    $price3 = getPrice($con, $val3);

    // 计算总和
    $totalPrice = $price1 + $price2 + $price3;

    // 输出结果
    echo "三个商品的总价是: " . $totalPrice;

    // 关闭数据库连接
    mysqli_close($con);
}
?>

关键细节说明:

  • 预处理语句:用?作为占位符,再通过mysqli_stmt_bind_param绑定参数,彻底避免SQL注入问题。
  • 通用函数:把查询价格的逻辑封装成函数,减少重复代码,让代码更整洁。
  • 空结果处理:如果某个name在数据库中不存在,默认返回0,你也可以根据需求改成提示错误或者其他逻辑。
  • 错误检查:增加了数据库连接、预处理语句的错误检查,避免意外报错。

如果你不想用函数,也可以单独写三个查询逻辑,比如:

// 获取第一个价格
$sql1 = "SELECT price FROM images WHERE name = ?";
$stmt1 = mysqli_prepare($con, $sql1);
mysqli_stmt_bind_param($stmt1, "s", $val1);
mysqli_stmt_execute($stmt1);
$result1 = mysqli_stmt_get_result($stmt1);
$row1 = mysqli_fetch_assoc($result1);
$price1 = $row1 ? (int)$row1['price'] : 0;

然后同理处理$price2和$price3,再求和输出就行。

内容的提问来源于stack exchange,提问作者Melwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:05:31