Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]dalej problem z update
Forum PHP.pl > Forum > Przedszkole
mit2
zrobilem tak jak jest tam i mi dales robi update 0000-00-00 00-00-00 mam teraz taki ko i dalej nie dziala
  1. if($id[okres] == '1')
  2. {
  3. $okresx = '30';
  4. $idsfnasy = '40';
  5. }
  6. if($id[okres] == '2')
  7. {
  8. $okresx = '60';
  9. $idsfnasy = '70';
  10. }
  11. if($id[okres] == '3')
  12. {
  13. $okresx = '90';
  14. $idsfnasy = '100';
  15. }
  16. if($id[okres] == '6')
  17. {
  18. $okresx = '180';
  19. $idsfnasy = '190';
  20. }
  21. if($id[okres] == '12')
  22. {
  23. $okresx = '365';
  24. $idsfnasy = '375';
  25. }
  26. $ia = "UPDATE serwer SET datastop='DATE_ADD({$serwer['datastop']}, INTERVAL $okresx)', datadelete='DATE_ADD({$serwer['datadelete']}, INTERVAL $idsfnasy)' WHERE port='{$id['port']}'";
  27. echo $ia.'<br>';
  28. $ia = mysql_query("$ia");



też prubowałem tak ale mi błąd pokazuje

  1. $ia = "UPDATE serwer SET datastop='DATE_ADD('$serwer[datastop]' + INTERVAL $okresx DAY)', datadelete = DATE_ADD('$serwer[datadelete]' + INTERVAL $idsfnasy DAY) WHERE port='{$id['port']}'";
  2. echo $ia.'<br>';
  3. $ia = mysql_query("$ia");

taki błąd mi wyskakuje
UPDATE serwer SET datastop='DATE_ADD('2011-07-05 09:27:52' + INTERVAL 30 DAY)', datadelete = DATE_ADD('2011-07-15 09:27:52' + INTERVAL 40 DAY) WHERE port='21'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2011-07-05 09:27:52' + INTERVAL 30 DAY)', datadelete = DATE_ADD('2011-07-15 09:2' at line 1



mortus
A gdzie w dokumentacji widzisz znak + w funkcji DATE_ADD()?
mit2
oglądałem gdzies na jakiejs stronie. ale mniejsza o to 2 zapytanie chodzi mi o to 1 że niechce mi zrobic dobrze update
mortus
Twoje DATE_ADD: DATE_ADD({$serwer['datastop']}, INTERVAL $okresx)
DATE_ADD z dokumentacji: DATE_ADD(date, INTERVAL expr unit), gdzie unit to np. DAY, MONTH, itd.

Pogrubiłem część wspólną.

EDIT
A błąd dotyczył drugiego zapytania, i gdybyś w tym drugim zapytaniu dał przecinki zamiast plusów, to zapewne by działało.
Czytaj ze zrozumieniem!
mit2
UPDATE serwer SET datastop='DATE_ADD('2011-07-05 09:27:52', INTERVAL 30 DAY)', datadelete = 'DATE_ADD('2011-07-15 09:27:52', INTERVAL 40 DAY)' WHERE port='21'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2011-07-05 09:27:52', INTERVAL 30 DAY)', datadelete = 'DATE_ADD('2011-07-15 09:2' at line 1
mortus
Usuń apostrofy otaczające funkcję DATE_ADD(), bo DATE_ADD() zwróci co trzeba.
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.