[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаление данных
olva
Подскажите в чем проблема
в html файле кнопка удалить
<a href="del.php?id=0">УДАЛИТЬ</a>

если файл del.php такой (упростил до конца)
$ID=$_GET["id"];
$Link = mysql_connect ($Host, $User,$Password)OR DIE("Не соединюсь с базой ");
$Select=mysql_select_db ($DBName,$Link) OR DIE ("Не соединюсь с таблицой");
$res="DELETE FROM $TableName WHERE id=$ID";//удаление $ID;

$result = mysql_query($res) OR DIE ("Не удалось удалить");


удалет 100% данных, а нужно то первую строку. $ID возвращает id=0.
При id>0 сообщение не удается удалить данные. И они не удаляются.



Спустя 20 минут, 32 секунды (17.01.2010 - 19:31) Malkolm написал(а):
Может быть я дурак и ошибаюсь но попробуй вот так id='$ID' записать запрос.

Спустя 5 минут, 2 секунды (17.01.2010 - 19:36) olva написал(а):
Цитата
Может быть я дурак и ошибаюсь но попробуй вот так id='$ID' записать запрос.

Все комбинации id='$ID', 'id'='$ID', 'id'=$ID, "id"='$ID',\"id\"='$ID',"id"=$ID приводят или к ошибке синтаксиса или Невозможно удалить.

Спустя 13 минут (17.01.2010 - 19:49) vagrand написал(а):
olva

show create table <table_name>;

в студию

Спустя 10 минут, 34 секунды (17.01.2010 - 20:00) olva написал(а):
CREATE TABLE `adress` (
`http1` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
);
ALTER TABLE `adress` ADD PRIMARY KEY (`http1`(256))

Спустя 3 минуты, 12 секунд (17.01.2010 - 20:03) vagrand написал(а):
olva

Эмм и где тут поле id?

Спустя 9 минут, 24 секунды (17.01.2010 - 20:12) WhiteKnight написал(а):
olva
в таблице должен быть автоинкрементный ID типа INT

Спустя 31 минута, 55 секунд (17.01.2010 - 20:44) olva написал(а):
Спасибо всем! Теперь понимаю, что ошибка здесь - почему- то считал что id присваивается автоматически каждой строке. Добавил поле id - теперь новый баг - невозможно записать данные. Буду разбтраться. Еще раз благодарю.

Спустя 6 минут, 7 секунд (17.01.2010 - 20:50) Gabriel написал(а):
olva
бага там быть неможет! почему добавить нельзя? тексты ошибок в студию!
ЗЫ случаем не пишет что-то вроде "Duplicated key бла бла бла..."?

Спустя 10 минут, 18 секунд (17.01.2010 - 21:01) olva написал(а):
Добавил поле id - INT(11). При попытке записи данных из html
<form action="http_bm.php" method="post">
<p><input
type="text" name="http1" metod="post" value="http1">
<input
type="submit"> </p>
</form>


через http_bm.php
$bd1 =$_POST["http1"];
$TableName = "adress";
$Link = mysql_connect ($Host, $User,$Password)OR DIE("Не соедин");
$Select=mysql_select_db ($DBName,$Link) OR DIE ("нет базы");
$query ="INSERT INTO $TableName VALUES (\"$bd1\")";
$result = mysql_query($query) OR DIE ("Невозможно записать данные");

Сообщение - невозможно записать данные. Убираю поле id - все пишется в базу. Разбираюсь. Здесь с таблицами (а может с Denwer?) что-то.

Спустя 7 минут, 48 секунд (17.01.2010 - 21:08) vagrand написал(а):
А может стоит хоть какую-то литературу о сайтостроении на php-mysql почитать прежде чем браться что-то делать?

Спустя 2 минуты, 44 секунды (17.01.2010 - 21:11) olva написал(а):
А может не стоит писать никаких сообщений в разделе для начинающих таким умным, если нет желания помогать и разбтраться в этом? А литературы перелопачено очень много. Но я не собираюсь здесь отчитываться.Только вот посмотрите ради интереса - что на мою тему говорит google и другие форумы. И кстати все форумы кишат вот такими умниками. которые вместо конкретных ответов дают ссылки на help. Дак на хрена тогда часть форума для начинающих. Уберите ее вообще а подобные темы баньте.

Спустя 4 минуты, 40 секунд (17.01.2010 - 21:16) twin написал(а):
Если используешь VALUES или VALUE нужно
1. Или указать все значения
2. или перечислить поля.

Спустя 22 минуты, 39 секунд (17.01.2010 - 21:38) olva написал(а):
Цитата (twin @ 17.01.2010 - 18:16)
Если используешь VALUES или VALUE нужно
1. Или  указать все значения
2. или перечислить поля.

А поля перечислены все - оно одно . Или я не так понимаю?
Нужно чтобы в form были все поля отправляемой формы?
И вот так - ничего не меняет $query ="INSERT INTO $TableName VALUES (\"$bd1\")";

Спустя 5 минут, 39 секунд (17.01.2010 - 21:44) twin написал(а):
А как же это
Цитата
Добавил поле id - INT(11).

и это
Цитата
Убираю поле id - все пишется в базу.

и наконец это
Цитата
VALUES (\"$bd1\")";
?

Спустя 2 минуты, 44 секунды (17.01.2010 - 21:47) olva написал(а):
$query ="INSERT INTO $TableName VALUES (0, \"$bd1\")";

$query ="INSERT INTO $TableName VALUES (NULL,\"$bd1\")";

Увы но ничего неменяет - не удалось записать данные. Я ищу свои ошибки.

Спустя 2 минуты, 12 секунд (17.01.2010 - 21:49) twin написал(а):
$result = mysql_query($query) OR DIE ("Невозможно записать данные. Ошибка вот в чем: ". mysql_error() );

Спустя 9 минут, 27 секунд (17.01.2010 - 21:58) olva написал(а):
Уважаемый twin!!! Большое спасибо за помощь. Проблема оказалась проще. Таблицу изменил - denwer не рестартовал. Перегрузил его - все ок.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.