需要帮助在php中启动此Mysql查询吗

需要帮助在php中启动此Mysql查询吗,php,mysql,Php,Mysql,我有一个简单的场景,但没有让它工作。我需要根据两个值为Mysql数据库中指定的“fee”列提取一个值 如果我在“from”和“to”列之间指定金额,我想获取“fee”的值 示例:如果金额为95,则行“费用”的值应为0.99 我以前尝试过使用传统的方法,如下所示,但现在我想使用MYSQL查询方法。请帮忙 if ($amount < 100) { $fee = '0.99'; } else if ($amount > 100 && $amount < 500) {

我有一个简单的场景,但没有让它工作。我需要根据两个值为Mysql数据库中指定的“fee”列提取一个值

如果我在“from”和“to”列之间指定金额,我想获取“fee”的值 示例:如果金额为95,则行“费用”的值应为0.99

我以前尝试过使用传统的方法,如下所示,但现在我想使用MYSQL查询方法。请帮忙

if ($amount < 100) {
$fee = '0.99';
}
else if ($amount > 100 && $amount < 500) {
$fee = '1.99';
}
else if ($amount < 500 && $amount < 1000) {
$fee = '2.99';
}
else if ($amount < 1000 && $amount < 10000) {
$fee = '4.99';
}
else if ($amount > 10000) {
$fee = '9.99';
}
if($amount<100){
$fee='0.99';
}
否则,如果($amount>100&&$amount<500){
$fee='1.99';
}
否则,如果($amount<500&$amount<1000){
$fee='2.99';
}
否则,如果($amount<1000&$amount<10000){
$fee='4.99';
}
否则,如果($amount>10000){
$fee='9.99';
}
PHP代码示例:

<?
include "dbconnect.php";

$post_amount = $_POST["amount"];

$sql = "SELECT fee FROM fees WHERE from < '$post_amount' AND to >     '$post_amount'     LIMIT 1";
$result = mysql_query($sql);
while($row = mysql_fetch_array( $result )) {
$fee = $row["fee"];
}
echo "Posted Amount is $post_amount and Fee is $fee";

?>

如果我得到你的问题,你需要SQL查询

您可以使用>和<符号:

"SELECT fee FROM tablename WHERE from < '$amount' AND to > '$amount' LIMIT 1"
还有两件事:

  • 在查询中使用$amount变量之前,需要对其进行清理
  • fromto是且不应用作列名

  • MySQL有一个很棒的操作符,名为
    BETWEEN

    "SELECT `fee` FROM `table` WHERE ".floatval($amount)." BETWEEN `from` AND `to`"
    

    您刚才在
    >中遇到了问题,100&&$amount<500){
    $fee='1.99';
    }否则,如果($amount>500&$amount<1000){
    $fee='2.99';
    }否则,如果($amount>1000&&$amount<10000){
    $fee='4.99';
    }否则,如果($amount>10000){
    $fee='9.99';
    }
    echo$费用;
    

    很好。

    使用mysql案例方法。你偷了我的答案。。。编辑你的答案以合并我的答案不是一件很好的事情。@NiettheDarkAbsol我没有偷你的答案,我是在你的答案出现之前编辑我的答案的。没问题,我会在我的答案中添加一个参考:)。顺便说一句,我对你的答案投了赞成票。我试过这个。它最初工作正常,但我看到了一个错误警告:mysql_fetch_array()希望参数1是资源,布尔值在……@ShaikatChakraborty中给出,在没有费用的情况下可能会发生这种情况;布尔值很可能意味着没有结果。。您可以发布用于查询和检索数据库的php代码吗resultset@JoshuaKissoon下面是php代码。我不能使用它,因为我有多个if条件。。。。使用MYSQL会很棒…我对$post\u和$br\u的金额感到抱歉。丢弃它们。我现在正在使用$amount…我已经添加了我已检查的答案。有时,当您可以用简单的代码来完成时,给数据库增加额外的负载是无用的。
    "SELECT `fee` FROM `table` WHERE ".floatval($amount)." BETWEEN `from` AND `to`"
    
    $amount = 250;
    
    if ($amount < 100) {
        $fee = '0.99';
    } else if ($amount > 100 && $amount < 500) {
        $fee = '1.99';
    } else if ($amount > 500 && $amount < 1000) {
        $fee = '2.99';
    } else if ($amount > 1000 && $amount < 10000) {
        $fee = '4.99';
    } else if ($amount > 10000) {
        $fee = '9.99';
    }
    
    echo $fee;