как обновить статус комнаты после вставки с помощью php

0

У меня две таблицы: tblroom и tblrent. Как я могу обновить поле состояния стола после вставки в таблицу аренды. Вставка работает нормально, но обновление не работает. Вот мои коды.

if($_POST) {    

    $validator = array('success' => false, 'messages' => array());
    $cusName = $_POST['cusName'];
    $room_num = $_POST['room_num'];
    $strDate = $_POST['strDate'];
    $book = $_POST['book'];
    $fctStatus = $_POST['fctStatus'];

    //insert values to database
    $sql = "INSERT INTO tblrent (name, room, start_date, booking, status) 
    VALUES ('$cusName', '$room_num', '$strDate', '$book', '$fctStatus')";
    $query = $connect->query($sql);

    //update the room status
    $update = "UPDATE tblrooms SET status ='$fctStatus' WHERE rNumber=$room_num";
    $query2 = $connect->query($update);

        if($query === TRUE) {           
            $validator['success'] = true;
            $validator['messages'] = "Successfully Added";      
        } else {        
            $validator['success'] = false;
            $validator['messages'] = "Error while adding the Customer information";
        }
    // close the database connection
    $connect->close();
    echo json_encode($validator);
}
Теги:

1 ответ

0

Во-первых, вы должны попытаться показать сообщение об ошибке, вызывающее вашу проблему. Также стоит $room_num целое число? если это не так, вы можете захотеть обернуть его в кавычки в своем заявлении об обновлении. $update = "UPDATE tblrooms SET status ='$fctStatus' WHERE rNumber='$room_num'";

Примечание. Вы не должны передавать значения непосредственно из ввода в запрос, поскольку вредоносный ввод может быть введен, и вы можете стать жертвой SQL Injection. Попытайтесь использовать подготовленные операторы (PDO) или правильно фильтровать и готовить ввод сначала, прежде чем передавать его в запрос.

if($_POST) {    

$validator = array('success' => false, 'messages' => array());
$cusName = $_POST['cusName'];
$room_num = $_POST['room_num'];
$strDate = $_POST['strDate'];
$book = $_POST['book'];
$fctStatus = $_POST['fctStatus'];

//insert values to database
$sql = "INSERT INTO tblrent (name, room, start_date, booking, status) 
VALUES ('$cusName', '$room_num', '$strDate', '$book', '$fctStatus')";
$query = $connect->query($sql);

//update the room status
//Note the quotes around the $room_num which should be used if it isn't an integer
$update = "UPDATE tblrooms SET status ='$fctStatus' WHERE rNumber='$room_num'";
$query2 = $connect->query($update);
    //check if the insert query worked
if($query === TRUE) {           
    $validator['success'] = true;
    $validator['messages'] = "Successfully Added";      
} else {        
    $validator['success'] = false;
    $validator['messages'] = "Error while adding the Customer information" . $connnect->error;
}
    //check if the update query worked
if ($query2 === TRUE) {
    echo "Room status updated successfully";
} else {
    echo "Error updating room status: " . $connnect->error;
}

// close the database connection
$connect->close();
echo json_encode($validator);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню