Когда execute
завершается успешно, он возвращает TRUE
. В вашем случае запрос завершается успешно, он просто возвращает 0 строк, что является вполне допустимым результатом. Если вы хотите проверить, возвратил ли запрос какие-либо строки, вы можете попробовать fetch
из результата:
$orders->execute(array($message,$this->model->checkapi($data,$message)));
$check = $orders->fetch();
if ($check) {
Сказав это, весь этот подход меня поразил неправильное - удаление одной строки не является значительно более тяжелой операцией, чем запрос этой строки, если это вообще возможно. И в худшем случае, где он существует, вы выполняете два утверждения вместо одного. Я бы просто пошел и отправлю инструкцию delete, и если это не повлияет на какие-либо строки (потому что они не существуют), пусть будет так.