Я создаю систему бронирования, в которой клиент заполнит форму бронирования (Location, Classroom, Time, & Date).Проверка записей в MySQL перед вставкой в базу данных
Мой вопрос заключается в проверке записей, введенных перед вставкой в базу данных. Значение, если LOCATION, CLASSROOM, TIME и DATE были уже вставлены/взяты/зарезервированы в базе данных, тогда система предложит сообщение типа «Местоположение, дата и время уже зарезервированы», иначе он будет вставлен в базу данных , Я запускаю этот код, но все же он записывает одно и то же местоположение, класс, дату, время. Что-то не так с этим кодом?
$res_location = isset($_POST['res_location']) ;
$res_classroom = isset($_POST['res_classroom']) ;
$res_inclusive_date = isset($_POST['res_inclusive_date']);
$res_inclusive_time_start = isset($_POST['res_inclusive_time_start']) ;
// Build the query
$query = sprintf("SELECT Location_Faculty FROM tbl_reservation WHERE Location_Faculty=%s AND Classroom=%s AND Inclusive_Date=%s AND Inclusive_Time=%s ",
GetSQLValueString($res_location, "text"),
GetSQLValueString($res_classroom, "text"),
GetSQLValueString($res_inclusive_date, "date"),
GetSQLValueString($res_inclusive_time_start, "date"));
$result = mysql_query($query) or die(mysql_error() . '<hr />' . $query);
$num_rows = mysql_num_rows($result);
if($num_rows >= 1){
// then the record already exists
echo "Duplicate entry";
}
else{
//insert query
}
Это SQL-инъекция бесплатно из-за функции GetSQLValueString. Cheers and Godbless!
Спасибо! дайте ему попробовать :) – Nikkoz009
Просто маленький совет. Вы можете поместить свой запрос внутри функции, например, reserve_exist(), где вы можете передать требуемые параметры и вернуть TRUE или FALSE, если запись существует. Затем в инструкции if вы можете проверить, что ваша функция вернется и к соответствующим действиям – Lykos
эй! У меня проблема _Warning: mysql_num_rows() ожидает, что параметр 1 будет ресурсом, boolean задан в C: \ xampp \ htdocs \ Thesis \ reservation_page.php в строке 39_, и я не могу вставить теперь @Lykos. – Nikkoz009