Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25

Удаление записей из базы

09.10.2014, 15:14. Показов 2124. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Что сделал не так ? в базе таблица в ней колонка 'Name'

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/* 
 DELETE.PHP
Удаляет записи из таблицы
*/
 
 // соединяемся с database
 include('connect-db.php');
 
 // check if the 'id' variable is set in URL, and check that it is valid
 if (isset($_GET['name']) && is_string($_GET['name']))
 {
 // получаем текстовое значение из базы 
 $id = $_GET['name'];
 
 // удаляем строку
 $result = mysqli_query( $link, "DELETE FROM cdc WHERE name=$id")
 or die(mysql_error()); 
 
 // возвращаемся обратно на view page
 header("Location: view.php");
 }
 else
// если что не так возвращаемся по любому туда же
 {
 header("Location: view.php");
 }
 
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2014, 15:14
Ответы с готовыми решениями:

Удаление записей из базы данных
У нас есть две таблицы: ids_list и stats. Структура ids_list: id - список идентификаторов. Структура stats: id, value. Как...

Удаление многих записей из базы mysql
Добрый день форумчане. Скрипт удаляет данные из определенной таблицы. Записей очень много(около 140к), сама таблица весит около...

Checkbox удаление записей из базы данных
PHP никаких ошибок не выдаёт, записи из базы загрузились, checkbox-ы появились, выделяю несколько, нажимаю &quot;удалить&quot; и ничего не...

24
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 16:02
Не уверен, но может попробовать с ковычками запрос:
SQL
1
"DELETE FROM `cdc` WHERE `name`='$id'"
1
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
09.10.2014, 16:07
Цитата Сообщение от FireUnix Посмотреть сообщение
"DELETE FROM `cdc` WHERE `name`='$id'"
почти
PHP
1
 $result = mysqli_query( $link, "DELETE FROM cdc WHERE name='".$id"'")
или без точек {$id}
1
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25
09.10.2014, 16:40  [ТС]
нет. не в кавычках дело.
PHP
1
Parse error: syntax error, unexpected '"'"' (T_CONSTANT_ENCAPSED_STRING)
может в файле view.php что не так ?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/* 
    VIEW.PHP
    Displays all data from 'players' table
*/
 
    // connect to the database
    include('connect-db.php');
 
    // get results from database
    $result = mysqli_query($link,"SELECT * FROM cdc") 
        or die(mysql_error());  
        
    // display data in table
    echo "<p><b>View All</b> | <a href='view-paginated.php?page=1'>View Paginated</a></p>";
    
    echo "<table border='1' cellpadding='10'>";
    echo "<tr> <th>Name</th> <th>Emp N</th> <th>Position</th> <th></th> <th></th></tr>";
 
    // loop through results of database query, displaying them in the table
    while($row = mysqli_fetch_array( $result )) {
        
        // echo out the contents of each row into a table
        echo "<tr>";
        echo '<td>' . $row['Name'] . '</td>';
        echo '<td>' . $row['EmpN'] . '</td>';
        echo '<td>' . $row['Position'] . '</td>';
        echo '<td><a href="edit.php?id=' . $row['Passport'] . '">Edit</a></td>';
        echo '<td><a href="delete.php?id=' . $row['Name'] . '">Delete</a></td>';
        echo "</tr>"; 
    } 
 
    // close table>
    echo "</table>";
?>
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
09.10.2014, 16:42
Цитата Сообщение от buskopan Посмотреть сообщение
<?php
/*
* * VIEW.PHP
* * Displays all data from 'players' table
*/
// connect to the database
* * include('connect-db.php');
// get results from database
* * $result = mysqli_query($link,"SELECT * FROM cdc")
* * * * or die(mysql_error()); *
// display data in table
* * echo "<p><b>View All</b> | <a href='view-paginated.php?page=1'>View Paginated</a></p>";
echo "<table border='1' cellpadding='10'>";
* * echo "<tr> <th>Name</th> <th>Emp N</th> <th>Position</th> <th></th> <th></th></tr>";
// loop through results of database query, displaying them in the table
* * while($row = mysqli_fetch_array( $result )) {
// echo out the contents of each row into a table
* * * * echo "<tr>";
* * * * echo '<td>' . $row['Name'] . '</td>';
* * * * echo '<td>' . $row['EmpN'] . '</td>';
* * * * echo '<td>' . $row['Position'] . '</td>';
* * * * echo '<td><a href="edit.php?id=' . $row['Passport'] . '">Edit</a></td>';
* * * * echo '<td><a href="delete.php?id=' . $row['Name'] . '">Delete</a></td>';
* * * * echo "</tr>";
* * }
тут вообще ничего не удаляет
0
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 16:46
Ясен пень, думаю ошибка тут.
ты в массиве GET держишь id с ключом "id"
PHP
1
<a href="delete.php?id=' . $row['Name'] . '">Delete</a>
а при удалении пытаешся получить с ключом "name"
PHP
1
2
3
4
if (isset($_GET['name']) && is_string($_GET['name']))
 {
 // получаем текстовое значение из базы 
 $id = $_GET['name'];
измени name на id
PHP
1
$_GET['id']
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.10.2014, 16:56
Следующие способы абсолютно идентичны:
Цитата Сообщение от FireUnix Посмотреть сообщение
"DELETE FROM `cdc` WHERE `name`='$id'"
Цитата Сообщение от V@D!k Посмотреть сообщение
или без точек {$id}
и это то же, если исправить опечатку:
Цитата Сообщение от V@D!k Посмотреть сообщение
"DELETE FROM cdc WHERE name='".$id"'"
0
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25
09.10.2014, 17:09  [ТС]
Цитата Сообщение от V@D!k Посмотреть сообщение
тут вообще ничего не удаляет
строка 29
PHP
1
echo '<td><a href="delete.php?id=' . $row['Name'] . '">Delete</a></td>';
Цитата Сообщение от FireUnix Посмотреть сообщение
ты в массиве GET держишь id с ключом "id"
заменил на Name
PHP
1
echo '<td><a href="delete.php?Name=' . $row['Name'] . '">Delete</a></td>';
страница просто зависает на delete.php а до этого ничего не происходило. Записи по прежнему не удаляются.

Цитата Сообщение от ads Посмотреть сообщение
Следующие способы абсолютно идентичны:
Солидарен.
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
09.10.2014, 17:14
посмотрите с помощью отладочного вывода что у вас передается из формы, есть ил такое значение в базе, есть ил соединение с базой
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.10.2014, 17:20
name и Name разные переменные. За этим тоже стоит следить

Добавлено через 38 секунд
вот
Цитата Сообщение от FireUnix Посмотреть сообщение
if (isset($_GET['name']) && is_string($_GET['name']))
Добавлено через 25 секунд
и вот
Цитата Сообщение от buskopan Посмотреть сообщение
echo '<td><a href="delete.php?id=' . $row['Name'] . '">Delete</a></td>';
0
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25
09.10.2014, 17:30  [ТС]
Цитата Сообщение от ads Посмотреть сообщение
name и Name разные переменные. За этим тоже стоит следить
Следил. Менял. Делал одинаковыми. Тут что-то другое.
0
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 17:32
Цитата Сообщение от buskopan Посмотреть сообщение
страница просто зависает на delete.php
как зависает? белая страницы, или просто бесконечная индикация загрузки?
0
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25
09.10.2014, 17:38  [ТС]
Цитата Сообщение от FireUnix Посмотреть сообщение
как зависает? белая страницы, или просто бесконечная индикация загрузки?
Пустая страница с адресом
HTML5
1
http://localhost/data/delete.php?Name=Abbasov%20Fazil
в случае удаления пользователя Abbasov Fazil (к примеру) Без индикации загрузки.
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.10.2014, 17:41
Цитата Сообщение от buskopan Посмотреть сообщение
Abbasov%20Fazil
не уверен что такой чел есть в базе. Нужно вернуть строку к нормальному виду, если удаляете по имени.

Добавлено через 24 секунды
Хотя первоначальная идея с id - оптимальна
0
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 17:44
Цитата Сообщение от ads Посмотреть сообщение
Хотя первоначальная идея с id - оптимальна
конечно лучше по ИДу удалять. да и к тому же дурная затея передавать данные по GET, можно использовать для ознакомления но никак не для практического применения
0
0 / 0 / 1
Регистрация: 30.07.2014
Сообщений: 25
09.10.2014, 17:51  [ТС]
Цитата Сообщение от ads Посмотреть сообщение
не уверен что такой чел есть в базе. Нужно вернуть строку к нормальному виду, если удаляете по имени.
это браузера проблема переправляет текст.
правильная ссылка тоже ничего не дает.
HTML5
1
http://localhost/data/delete.php?Name=Abbasov Fazil
Добавлено через 1 минуту
Цитата Сообщение от FireUnix Посмотреть сообщение
конечно лучше по ИДу удалять.
по id работает. просто нужно по текстовому значению. Если не получится придется так и сделать.
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
09.10.2014, 17:54
у вас не совпадает имена в базе и то, что вы вводите, возможно его просто нет в базе, а возможно цепляется что-то лишнее, попробуйте использовать Like в запросе
0
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 17:56
Только что потестил, Abbasov%20Fazil в дампе воспринимается как нормальная строка с пробелом (ну так и должно быть собстно). Да скорее всего у вас не находит такой записи в БД, или еще какие то косяки, которые можно выявить дебажа скрипты пошагово имхо.
0
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
09.10.2014, 17:56
Боюсь показаться занудным, но такое сочетание никогда в жизни не сработает
Цитата Сообщение от buskopan Посмотреть сообщение
http://localhost/data/delete.php?Name=...
Цитата Сообщение от FireUnix Посмотреть сообщение
isset($_GET['name'])
0
20 / 20 / 9
Регистрация: 04.03.2013
Сообщений: 148
09.10.2014, 18:00
Цитата Сообщение от ads Посмотреть сообщение
Боюсь показаться занудным, но такое сочетание никогда в жизни не сработает
Сообщение от buskopan
http://localhost/data/delete.php?Name=...
Сообщение от FireUnix
isset($_GET['name'])
Согласен, только что проверено тестом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2014, 18:00
Помогаю со студенческими работами здесь

Удаление записей из базы данных старше недели
Удаления записей из базы данных старше недели. Помогите пожалуйста составить коды для удаления записей старше недели. Код PHP ...

Вывод записей из базы!
рябят, такой вопрос: в базе данных mysql хранятся записи о файлах(имя, описание и пр....), нужно вывести, например 20 записей, а ниже...

Удаление записей из БД
У меня вот такой вопрос: Как можно реализовать удаление записей по какому-то параметру через определёный промежуток времени?Например есть...

Удаление записей из БД
Необходимо организовать удаление записей из БД таким образом: Когда содержимое таблицы выводится на экран, то должен добавляться еще один...

Удаление записей
На html-странице ввожу название книги и автора, потом удаляю. После удаления хочу чтобы отображалась вся инфа из БД,т.е. не только название...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru