php и mysql строка обновления не считается обновлением как дубликат - PullRequest
0 голосов
/ 29 апреля 2018

Мой код большой, и я не могу просто вытащить несколько строк, чтобы показать мою проблему, поэтому я собираюсь объяснить это с помощью воображаемого кода, чтобы упростить его.

Допустим, у меня есть список дел в виде таблицы, и я определил активность и время. Я не хочу иметь повторяющиеся строки, поэтому я создал функцию, чтобы предотвратить это.

function check_date($day, $time) {
include 'db_connect.php';
$sql = "SELECT day, dan FROM todo ";
$sql .= "WHERE day = $day AND time = '{$time}'";

$result = mysqli_query($conn, $sql) or trigger_error(mysqli_error());

if(mysqli_num_rows($result) >= 1) {
    $row = mysqli_fetch_assoc($result);
    return 1;
} else {
    return 0;
}
}

Вызов функции в основном файле:

if(check_termin_sala($day, $time)) {
    $errors['busy'] = "You are busy.";
}   

И запрос:

if(empty($errors) {
    $query = "INSERT INTO todo (";
    $query .= "day, time, activity";
    $query .= ") VALUES (";
    $query .= "'{$day}', '{$time}', '{$activity}')";

    $result = mysqli_query($conn, $query);
    if(!$result) {
        die("Failed." . mysqli_error($conn));
    }
}

Теперь я хочу обновить мою строку, изменив только поле активности, но поля день и время не меняются, поэтому при отправке обновления я получаю сообщение об ошибке, поскольку точные день и время уже вставлены. Что я должен сделать, чтобы исключить эту функцию проверки, влияющую на текущую дату и время строки?

Надеюсь, вы меня поймете. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...