PHP PDO If, чтобы проверить, является ли поле пустым в операторе delete - PullRequest
0 голосов
/ 24 марта 2019

Прошу прощения, если об этом уже спрашивали, но я не нашел ответа, который бы соответствовал моим потребностям.

У меня есть подготовленный оператор для удаления данных из таблицы с помощью ввода пользователя:

    $delete = $handler->prepare("DELETE FROM screenings WHERE 
       time = :time    ORDER BY screeningid LIMIT 1; ");
 $delete- >execute(array( ':time' => $screeningtime  )); 

Я пытаюсь добавить оператор if перед оператором delete, чтобы сначала проверить, завершается ли запись, и, если это так, выполняет оператор delete, в противном случае выдается сообщение об ошибке.

пока я пробовал:

if(empty($row['column'])) {
 echo "error";
}else {
 //delete statement here
} 

но безрезультатно, сообщение об ошибке распечатывается во всех случаях

Ответы [ 2 ]

0 голосов
/ 24 марта 2019
     <? Php
      $delete->execute();
    if ($delete->rowCount() >= 1)
        echo 'ok';
    else
        echo 'error or not found';
0 голосов
/ 24 марта 2019

Вам нужно было бы сделать SELECT, чтобы определить, существует ли строка.

Однако, результат DELETE вернет количество затронутых строк, так что вы можете просто запустить его независимо, а затем проверитьесли 0 или 1 или> 1 строки были удалены.Это было бы $delete->rowCount()

http://php.net/manual/en/pdostatement.rowcount.php

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