php - 寻找更好的语句来使用,而不是使用带有 sql 查询的 if 语句
问题描述
我正在运行一个查询,需要它从一个字段中选择并根据种族和性别对用户进行评分。
我尝试了 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">×</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">×</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">×</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">×</a>
<p align="center">
An error occured, Could not disapprove business
</p>
</div>
<?php
}
}
我正在寻找一个更好的语句来使用,因为即使这个语句运行两个结果并且不显示一个结果。
解决方案
您确实知道您的代码是以两种查询都会执行的方式编写的,以防万一
if(isset($_POST['approveBtn']))
是真的,你呢?我不确定这真的是你想要的......
正如有人已经说过的那样,即使更新查询不更新任何记录(您应该检查受影响的行),UPDATE 查询也会成功,但请注意在代码中插入 $id 查询,因为这可能是打开的到 SQL 注入。
推荐阅读
- python - 如何删除 TypeError: unhashable type: 'list' using pymongo
- javascript - 如何在 Lit 中正确实现 Bootstrap?
- apache-flink - Apache Flink - 匹配连续模式中具有不同值的字段
- javascript - npm 安装/discordjs 错误
- r - glmnet目前的收敛标准是什么?
- flutter - 如何设置颤振注册
- kubernetes - Helm依赖安装顺序
- ethereum - bsc 节点快速同步:差异层与当前层太新
- python - 使用 Sendgrid 和 Azure:550,b'不允许未经身份验证的发件人'
- node.js - 在单击按钮时将值传递给 somearray.map 中的函数,但它没有传递值