php - 无法验证数据库中的部分字符串
问题描述
从事预订项目;我想检查用户输入的座位是否已经被数据库占用;如果有,则不应执行将预订添加到数据库的查询。否则,如果没有被占用,则可以执行查询。但是,目前,数据正在插入到数据库中,但我也收到了“Seat Taken”消息,即使该席位尚未在数据库中被占用。我的 flight_booked 数据库中的座位字段可以包含逗号分隔值。
<?PHP
$database = 'users';
$db_found = new mysqli(DB_SERVER, DB_USER, DB_PASS, $database );
if(isset($_POST['submit'])) {
if($db_found) {
$seat = "SELECT * FROM flights_booked WHERE Seats LIKE '%$_POST[seats]%'";
$run = mysqli_query($conn, $seat);
if($run) {
echo "Seat taken";
} else {
echo 'No';
}
}
$mysql = "insert into flights_booked (User_ID, Flight_ID, Infants, Children, Adults, Seats, Dietary_Requirements, Requirement) values('$ID', '$_POST[flight]', '".addslashes($_POST['infants'])."', '".addslashes($_POST['children'])."', '".addslashes($_POST['adults'])."', '".addslashes($_POST['seats'])."', '".addslashes($_POST['dietary-requirement'])."', '".addslashes($_POST['requirement'])."')";
$run = mysqli_query($conn, $mysql) or die(mysqli_error($conn));
if($run) {
echo "Success";
} else {
echo "Fail";
}
}
?>
解决方案
推荐阅读
- flutter - FLUTTER 可隐藏的叠加菜单
- qt - 为 QWidgets 调用 new 而不删除
- angular - 剑道网格列标题
- ruby-on-rails - 如何更改 RSpec 的存根
- python - 熊猫,str.extract 不适用于我的正则表达式?
- c - linux malloc:何时实际映射页面?
- r - R - 以 1 为增量的循环函数
- android - 如果应用程序关闭,警报管理器不会触发(从最近的应用程序中删除)
- python - selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互尝试发送键
- linux - 如何比较两个文件并在第一个文件的位置替换另一个文件内容?