Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > DELET не удаляет


Автор: ellis 5.12.2010, 22:50
Нужно что бы удалилась строка  в которой совпадает дата с датой на сервере но почему то  не удаляется мож кто подскажет в чем дело?
Код

<?php 
$date = (date("Y-m-d " ));
$result2 = mysql_query("DELETE FROM `test` WHERE `test`.`date` = $date LIMIT 1");
if ($result2 == true ){echo"данные удалены";}else {echo"данные не удалены";}
?>




Автор: bars80080 5.12.2010, 22:56
сделайте проверочный запрос:

$date = (date("Y-m-d " ));
$result2 = mysql_query("SELECT * FROM `test` WHERE `test`.`date` = $date LIMIT 1");
... и так далее

найдёт ли чего?

Автор: ellis 5.12.2010, 23:10
находит ! но находит все даты нужные и не нужные через " printf "
а вторым вариантом  не чего не выводится
Код

$date = (date("Y-m-d " ));
$result = mysql_query("SELECT * FROM `test` WHERE `test`.`date` = $date LIMIT 1",$db);
$myrow = mysql_fetch_array ($result);
echo $myrow["date"];

Автор: ellis 6.12.2010, 01:50
В общем разобрался как удалить  строку  с нужной датой. Теперь мне надо сделать проверку совпадает дата в таблице с датой на сервере. На первый взгляд все ок. Даты совпадают должно быть сообщение о том что"даты равны", но на деле все наоборот "даты не равны"  Че делать я теперь не знаю по сути вроде все правильно должно работать. А не работает. Помогите!smile
Код

<?php 
$result2 = mysql_query("SELECT id, date FROM test ORDER BY date ASC");
$myrow = mysql_fetch_array ($result2);
$date_w = (date("Y-m-d " )); // дата на сервере (2010-12-06)
echo "$date_w ";
echo $myrow["date"]; // дата в таблице которую нужно удалить (2010-12-06)
$date_r = $myrow["date"];
if($date_w == $date_r){echo "даты равны";} else {echo "даты не равны";} 
?>

Автор: SickFxck 6.12.2010, 07:56
Цитата(ellis @  6.12.2010,  01:50 Найти цитируемый пост)
В общем разобрался как удалить  строку  с нужной датой

Серьёзно? Код в студию.


Автор: skyboy 6.12.2010, 11:46
Цитата(ellis @  5.12.2010,  22:10 Найти цитируемый пост)
mysql_query("SELECT * FROM `test` WHERE `test`.`date` = $date LIMIT 1",$db);

выведи сформированный запрос, с уже подставленным значением переменной $date.
а потом подумай, как СУБД должна понимать запрос:
Код

SELECT * FROM `test` WHERE `test`.`date` = 2010-12-06 LIMIT 1

Автор: ellis 6.12.2010, 12:16
skyboy, не поняла тебя!

Автор: skyboy 6.12.2010, 12:32
Цитата(ellis @  6.12.2010,  00:50 Найти цитируемый пост)
В общем разобрался

Цитата(ellis @  6.12.2010,  11:16 Найти цитируемый пост)
не поняла тебя!

либо у тебя раздвоение, либо неумело прикидываешься девушкой. в любом случае, завязывай.
а имел я в виду то, что
Цитата

2010-12-06
 это выражение, а не дата. И равно оно 1992. Чтоб воспринималось датой, надо обрамлять значение кавычками.

Автор: ellis 6.12.2010, 13:06
раздвоение! мля туплю не понимаю че делать!

Автор: skyboy 6.12.2010, 13:26
Цитата(skyboy @  6.12.2010,  11:32 Найти цитируемый пост)
Чтоб воспринималось датой, надо обрамлять значение кавычками. 


Автор: Guedda 7.12.2010, 07:19
И вообще лучше использовать timestamp! =)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)