Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z dodawanie daty
Forum PHP.pl > Forum > PHP
watolapatryk
Witam,

Mam problem z dodawaniem daty w BD

Mianowicie mam dwie tabele, jedną z danymi, drugą kopię i przy usunięciu z 1 tabeli chciałbym by jednocześnie dodawała się data do kopii, skąd nie jest nic usuwane. zapytanie wygląda następująco:

  1. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");


wszystko działa jeżeli zmodyfikuję zapytanie i wpiszę datę z palca:

  1. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= "2011-06-21" WHERE `id` = '".$_GET['id']."';");


Jednak to się mija z celem, żebym codziennie aktualizował kod i zmieniał datę smile.gif

A samo zapytanie działa jeżeli je bezpośrednio wykonam na samej bazie. Już nie mam pojęcia co może być nie tak.

Z góry dziękuję i pozdrawiam
piotr94
Wydaje mi się, że problem tkwi w formacie daty - NOW() zwraca datę w formacie: 2006-04-12 13:47:36, a Ty potrzebujesz tego bez godziny
korex
uzyj sobie
Kod
date('Y-m-d')
watolapatryk
Też tak myślałem na początku, ale jak wpisałem samo UPDATE w phpmyadmin czy też w programie HeidiSQL to bez problemu zmieniał datę. A nawet próbowałem za pomocą zmiennej $today = date("Y-m-d"); którą potem dawałem do zapytania. I tak samo wszystko przeleciało i żaden błąd nie wyskoczył, a data nie została zmieniona.
nospor
Napisz lepiej dokładnie kody jakich używasz. Przykładowo drugi kod powinien wywalić parse error, zaś pierwszy wydaje sie być ok.
Używaj też mysql_error by wyśwoetlić ewentualny błąd bazy danych
watolapatryk
Cały kod wygląda następująco:

  1. if (isset ($_GET['co']) && $_GET['co'] == 'skasuj') {
  2. $zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
  3. mysql_query($zapytanie2);
  4. $zapytanie = mysql_query ("DELETE FROM gazeta WHERE id = '".$_GET['id']."';");
  5. mysql_query($zapytanie);
  6. }

A najdziwniejsze jest to, że w innym pliku z innymi danymi zrobiłem tak samo i tam działa, a tabele wyglądają identycznie.

To tylko skopiowałem i zmieniłem nazwy.
tehaha
najlepiej to skasuj i napisz od nowa, bo:
1. pomyliłeś apostrofy z cudzysłowami - raz używasz jednego raz drugiego -> musisz się zdecydować
2. wewnątrz zapytania wsadziłeś średnik
3. jak używasz id pochodzące z $_GET to rób rzutowanie na int czyli -> (int)$_GET['id']
watolapatryk
Poprawiłem, ale nadal niestety nie działa :/
tehaha
eh, ale co to znaczy "nie działa". Zastanów się jak ktoś ma Ci pomóc jak jedyna informacja z Twojej strony to "nie działa...:/". Chcesz pomocy? ok, ale:
1. dajesz kod który używasz.
2. wklejasz wynik tzn. -> treść kodu php lub treść kodu mysql to nie jest javascript, że nie działa i jest biała strony sprawdzasz jakie są błędy lokalizujesz miejsce błędu i poprawiasz
watolapatryk
Cytat(tehaha @ 21.06.2011, 13:40:23 ) *
eh, ale co to znaczy "nie działa". Zastanów się jak ktoś ma Ci pomóc jak jedyna informacja z Twojej strony to "nie działa...:/". Chcesz pomocy? ok, ale:
1. dajesz kod który używasz.
2. wklejasz wynik tzn. -> treść kodu php lub treść kodu mysql to nie jest javascript, że nie działa i jest biała strony sprawdzasz jakie są błędy lokalizujesz miejsce błędu i poprawiasz


Właśnie problem w tym, że nie wyskakuje żaden błąd.
nospor
Cytat
Właśnie problem w tym, że nie wyskakuje żaden błąd.

Temat: Jak poprawnie zada pytanie
Masz tam napisane co zrobić by zobaczyć błędy oraz błędy z bazy danych. Pisałęm ci już o tym, miałeś uzyć mysql_error()


ps:
$zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
mysql_query($zapytanie2);

co to ma być? Wykonujesz mysql_query na wyniku mysql_query?
watolapatryk
A błąd mi wywala taki:

Warning: mysql_error() expects parameter 1 to be resource, boolean given in C:\wamp\www\gazeta\index.php on line 110
nospor
Przecież ci napisałem ze wywołujesz dwa mysql_query pod rząd i drugi korzysta z pierwszego... nie zaświeciła się zarowka?

Pozatym miałeś użyć mysql_error.

Nie:
$zapytanie2 = mysql_query ("UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."';");
mysql_query($zapytanie2);

a:
$zap = "UPDATE `gazeta_kopia` SET `deleted`= NOW() WHERE `id` = '".$_GET['id']."'";
$zapytanie2 = mysql_query ($zap);
echo 'zapytanie:'.$zap.' Blad:'.mysql_error();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.