首页 > 解决方案 > 无法验证数据库中的部分字符串

问题描述

从事预订项目;我想检查用户输入的座位是否已经被数据库占用;如果有,则不应执行将预订添加到数据库的查询。否则,如果没有被占用,则可以执行查询。但是,目前,数据正在插入到数据库中,但我也收到了“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";
    }
    
        
        
}

?>

标签: phpmysqlsql

解决方案


推荐阅读