寻找更好的语句而不是if语句与sql查询一起使用

时间:2019-05-30 11:43:21

标签: php mysql

我正在运行一个查询,需要它从一个字段中进行选择并根据种族和性别为用户评分。

我尝试了if语句来查找查询并选择正确的分数,但是即使单击了批准按钮时查询不同,它也会选择第一个if语句,并且不检查其余部分。

//Approve Button Rating
                if(isset($_POST['approveBtn'])){
          $query ="UPDATE bbee SET status=1 WHERE id='$id' AND race='Black'";

                        if(mysqli_query($connection,$query))
                        {?>
                            <div class="successmsg alert alert-autocloseable-success">
                            <a href="#" class="close" data-dismiss="alert">&times;</a>
                            <p align="center">
                                You are a level 1 B-BBEE Contributor
                            </p>
                            </div>
                        <?php 
                        }else{
                        ?>
                            <div class="errormsg alert alert-autocloseable-danger">
                                <a href="#" class="close" data-dismiss="alert">&times;</a>
                                <p align="center">
                                    An error occured, Could not disapprove business
                                </p>
                            </div>
                        <?php 
                        }
                }

                if(isset($_POST['approveBtn'])){
                    $query ="UPDATE bbee SET status=2 WHERE id='$id' AND race='White'";

                    if(mysqli_query($connection,$query))
                    {?>
                        <div class="successmsg alert alert-autocloseable-success">
                        <a href="#" class="close" data-dismiss="alert">&times;</a>
                        <p align="center">
                            You are a level 2 B-BBEE Contributor
                        </p>
                        </div>
                    <?php 
                    }else{
                    ?>
                        <div class="errormsg alert alert-autocloseable-danger">
                            <a href="#" class="close" data-dismiss="alert">&times;</a>
                            <p align="center">
                                An error occured, Could not disapprove business
                            </p>
                        </div>
                    <?php 
                    }
            }

我正在寻找一种更好的语句,因为即使该语句会同时运行两个结果,并且不会显示一个结果。

1 个答案:

答案 0 :(得分:0)

您确实知道您的代码是以这样的方式编写的,即两种查询都可以执行,以防万一

if(isset($ _ POST ['approveBtn']))

是真的,是吗?我不确定这真的就是您想要的...

正如某人已经说过的,即使UPDATE查询不更新任何记录(您应检查受影响的行),它们也会成功,但是要当心在代码中插入$ id,因为这样做可能对SQL注入开放。

相关问题