У меня есть следующий простой фрагмент кода php, который при вызове удаляет соответствующую статью из базы данных. Результат передается в функцию javacsript, которая обновит страницу через AJAX. Я хотел бы вернуть строку false
, если запрос не выполнен, как я ниже.
if($cmd=="deleterec"){
$deleteQuery = "DELETE FROM AUCTIONS1 WHERE ARTICLE_NO = ?";
if ($delRecord = $con->prepare($deleteQuery)) {
$delRecord->bind_param("s", $pk);
$delRecord->execute();
$delRecord->close();
echo "true";
} else {
echo "false";
}
}
Я хотел бы знать, что я пропустил, и правильный способ проверить, был ли запрос успешным или нет.
Edit:
Основываясь на ответах, я попытался переместить предложение if на $delRecord->execute();
вместо подготовки, но это не имело никакого значения. Не могу заставить страницу вернуть false
.
Приведенные ниже решения не работают, потому что запрос всегда выполняется, даже если он ошибочен, и, следовательно, всегда возвращает 'true'. Если я попробую метод с задействованными строками, я получу error : Call to undefined method mysqli_stmt::affected_rows()