Обнаружение того, что удаляемая запись не существует в таблице SQL (MySQL)


Спасибо, что помогли мне. У меня есть несколько простое сомнение.

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

это то, что я сделал до сих пор.

html:

<div id="borrador"> <!-- La forma de borrar datos -->
<form method="POST" action="disenoclaseborrar.php" style="padding:50px 250px;">
<h1>Escriba el nombre del profesor para borrar su clase</h1>
<input type="text" placeholder="Escriba el nombre del profesor para borrar la clase" name="nombreprofe" id ="nombreprofe" required></input>
<div id="input submit" style="text-align: center;;"><input type="submit"  id="submit" name="submit" class="floated" value="Borrar clase"></input></div>
</form>

php:

<?php
$nombreprofe = $_POST['nombreprofe'];
$db = mysqli_connect('localhost', 'root', '', 'prueba');
$nombreprofe = mysqli_real_escape_string($db, $nombreprofe);

$query = "DELETE FROM reservadiseno WHERE nombre = '$nombreprofe'"; 
$result = mysqli_query($db, $query);
$res = '';

if ($result > 0) {
$res = 'Se borraron los datos. Refresque la pagina para ver la tabla denuevo';
echo $res;
}else{
$res = "No se encontro nada para borrarlo";
echo $res;
}

?>
Author: Marcos, 2018-10-04

1 answers

- вы Можете использовать mysqli_affected_rows:

Получает количество затронутых строк в последней операции MySQL

int mysqli_affected_rows ( mysqli $link )

Возвращает количество строк, затронутых последним запросом INSERT, UPDATE, REPLACE or DELETE.

Пример:

<?php
$nombreprofe = $_POST['nombreprofe'];
$db = mysqli_connect('localhost', 'root', '', 'prueba');
$nombreprofe = mysqli_real_escape_string($db, $nombreprofe);

$query = "DELETE FROM reservadiseno WHERE nombre = '$nombreprofe'"; 
$result = mysqli_query($db, $query);
$res = '';

// AQUI
if (mysqli_affected_rows($db) > 0) {
$res = 'Se borraron los datos. Refresque la pagina para ver la tabla denuevo';
echo $res;
}else{
$res = "No se encontro nada para borrarlo";
echo $res;
}

?>
 0
Author: Marcos, 2020-06-11 10:54:57