Удаление строки из базы данных не работает

Я пытаюсь создать функцию, которая удаляла бы из базы данных mysql запись из определенной таблицы, указанной пользователем, и строка, которая будет использоваться в предложении WHERE, зависит от выбранной таблицы.

Вот что у меня есть:

 $table=$_POST['table'];
 $title=$_POST['title'];
 if($table=="clients")
     $row="fullname";
 else if($table=="books")
     $row="title";
 else if($table="actors")
     $row="fullname";
 else if($table="employees")
     $row="fullname";

 $result = mysqli_query($con,"DELETE from $table WHERE $row='{$title}'") or die (mysqli_error($con));

 if($result) {
     $_SESSION['updateinfo']='deleted';
     header("location:index.php");
 } else {
    $_SESSION['updateinfo']='not deleted!';
    header("location:index.php");
 } 

Ну, это прекрасно работает, когда я пытаюсь удалить из клиентов, книг, актеров, но это не работает для сотрудников.

Я получаю сообщение "удалено", но его все еще нет. Нет ошибок, нет ничего. Кроме того, мне нужно добавить еще 10 таблиц, есть ли лучший способ сделать это?

Я попытался отобразить $table, $title и $row, и кажется, что SELECT из HTML-формы только передает PHP-скрипту правильное значение для первых 3 опций, для остальных - неправильное значение, ниже моя HTML-форма

 <select name="table" style="padding:5px;margin:5px;width:200px;">
  <option value="clients" selected="selected">Clients</option>
  <option value="books">Books</option>
  <option value="actors">Actors</option>
  <option value="employees">Em</option>
  <option value="other1">smthother</option>
  <option value="other2">smtoher2</option>
</select>

0 ответов

Другие вопросы по тегам