Seite 1 von 2

mysql - update

Verfasst: 03.08.2006 17:03
von witzigerkiller

Code: Alles auswählen

$sql = "UPDATE ".$table_prefix."confirm SET time = '".time()."' AND `code` = '".$code."' WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."'"; 
ich will 2 sachen gleichzeitig updaten das 2te, will aber net :-( ...

Verfasst: 03.08.2006 17:06
von Jan500
hi

ersetz das AND durch ein ,

Jan

Verfasst: 03.08.2006 17:43
von witzigerkiller
danke...

Verfasst: 03.08.2006 18:03
von witzigerkiller
ehm...

ich weiß ich mache gerade wahrschienlich irgendne scheiße aber kannste mir sagen warum der die zahlen net annhemen will?

Code: Alles auswählen

$sql = "SELECT * FROM ".$table_prefix."confirm";

$result = $db->sql_query($sql);

while ($row = mysql_fetch_assoc($result))
{
  if ($row['time'] <= $row['time']+(5*60))
  {
    $sql = "DELETE FROM ".$table_prefix." WHERE time = '".$row['time']+(5*60)."'";
    $db->sql_query($sql);
  }
}
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 '300'' at line 1

Verfasst: 03.08.2006 18:49
von fanrpg
Deine if Abfrage ist irgendwie sinnlos :-?

if ($row['time'] <= $row['time']+(5*60))

Wenn du $row['time'] mit $row['time'] nur dort etwas zurechnest wird $row['time'] immmer kleiner sein :-?

Verfasst: 03.08.2006 18:55
von Pyramide
"time" ist ein reserviertes Schlüsselwort

Verfasst: 03.08.2006 18:56
von witzigerkiller
ich hab in der db ein feld das time heißt.... und ich will dort alles löschen was älter als 30 minuten ist....

so besser?

Code: Alles auswählen

while ($row = mysql_fetch_assoc($result))
{
  if ($row['time']+(5*60) < time())
  {
    $sql = "DELETE FROM ".$table_prefix." WHERE time = '".$row['time']."'";
    $db->sql_query($sql);
  }
}
jetzt müsste es stimmen oder?

Verfasst: 03.08.2006 19:05
von fanrpg
Hast du das von Pyra gelesen... ?
Pyramide hat geschrieben:"time" ist ein reserviertes Schlüsselwort
Anscheinend wohl nicht. :roll:

Verfasst: 03.08.2006 19:50
von witzigerkiller
und was will ich jetzt damit? mein feld in der datenbank heißt time. das script funktioniert jetzt einwandfrei, wo liegt dein problem jetzt?

Verfasst: 03.08.2006 19:51
von S2B
Das Feld darf nicht time heißen, ganz einfach. :wink:

Edit: Außerdem heißt die Tabelle, die du im Moment ansprichst, so wie dein Tabellenpräfix. :P