Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MYSQL] problem z aktualizacją timestamp
Forum PHP.pl > Forum > Przedszkole
neverever
Mam tabelę "tabela1" z polami: wartosc (varchar), czas (timestamp), status(tinyint)
Pole wartosc jest unikalne, a czas ma ustawiony atrybut ON UPDATE CURRENT_TIMESTAM i wartość domyślną CURRENT_TIMESTAM.

Teraz zrobiłęm sobie prosty formularz wysyłany jednym polem wartosc.
Po jego wysłaniu ma zaktualizować timestamp dla rekordu odpowiadającego tej wartości lub utworzyć nowy rekord jeśli nie ma go w bazie.

mam coś w stylu:
  1. <?php
  2. ...
  3. if($conn = @mysql_connect(HOST,USER,PASS)){
  4. $db = mysql_select_db(DBASE,$conn);
  5.  
  6. mysql_query('SET NAMES latin2',$conn);
  7. $czas = date("Y-m-d H:i:s");
  8. if(!$sql = mysql_query("UPDATE ".DBNAME." SET wartosc='$tmp' WHERE wartosc='$tmp'",$conn))
  9. $sql = mysql_query("INSERT INTO ".DBNAME." (wartosc) VALUES ('$tmp')");
  10. mysql_close($conn);
  11. }
  12. ...
  13. ?>


I jeśli nie ma odpowiadającego rekordu to go łądnie tworzy, ale nie aktualizuje timestampu dla istniejącego rekordu!

Sprawdzałem też:
  1. <?php
  2. if($sql = mysql_query("UPDATE ".DBNAME." SET wartosc='$tmp' WHERE wartosc='$tmp'",$conn)) echo ' zaktualizowano'; else echo ' nie zaktualizowano!';
  3. ?>

sprawdzałęm też:
  1. <?php
  2. if($sql = mysql_query("UPDATE ".DBNAME." SET czas=NOW() WHERE wartosc='$tmp'",$conn)) echo ' zaktualizowano'; else echo ' nie zaktualizowano!';
  3.  
  4. if($sql = mysql_query("UPDATE ".DBNAME." SET czas=CURRENT_TIMESTAMP WHERE wartosc='$tmp'",$conn)) echo ' zaktualizowano'; else echo ' nie zaktualizowano!';
  5.  
  6. if($sql = mysql_query("UPDATE ".DBNAME." SET czas='$czas' WHERE wartosc='$tmp'",$conn)) echo ' zaktualizowano'; else echo ' nie zaktualizowano!';
  7.  
  8. ?>


sprawdzałem też bez ,$conn

...i nic, co dziwne zawsze wynik mam false.

A rekord ten na 100% istnieje bo select mi go wyciąga.

Co jest grane? Co gdzie jak poprawić żeby to działało jak tego chcę?
isso
a spróbuj ręcznie uaktualnić(phpmyadmin albo cos pokrewneg)... a później skopiuj formułkę i zobaczy czy w poprawnej formie masz date smile.gif
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.