sql-Query in php festlegen

Hallo,

nachdem ich nun schon einige Tage erfolglos vergangen sind, nun meine Frage hier im Forum. Ich möchte per Script und php einen sql-String bauen, den ich danach an das mysql schicke und dort augeführt weren soll.

So siehts derzeit aus:

								/* SQL-Befehl festlegen */
								$sql = "UPDATE ips.netzwerk (SET aus_timestamp = '$time', aus_datum = curdate(), aus_zeit = curtime()) WHERE ipadresse = '$ip_adr'";
								/* SQL-Befehl ausführen */
								mysql_query($sql) or die (mysql_error());

Bin ich direkt im mysql kann ich folgende Query erfolgreich ausführen:

update netzwerk set aus_datum = curdate()

Beim INSERT geht alles gut:

								/* SQL-Befehl festlegen */
								$sql = "INSERT INTO ips.netzwerk (ipadresse, ein_timestamp, ein_datum, ein_zeit) VALUES ('$ip_adr', '$time', curdate(), curtime())";
								/* SQL-Befehl ausführen */
								mysql_query($sql) or die (mysql_error());

Was mache ich falsch? Die Funktion curdate() und curtime() kennt das mysq. Ich vermute den Fehler bei der Syntax im php - Anführungszeichen oder so. Aber wo und wie genau?

Kann jemand helfen? Danke.

$sql = "UPDATE ips.netzwerk SET aus_timestamp = '$time', aus_datum = curdate(), aus_zeit = curtime() WHERE ipadresse = '$ip_adr'";
  

Mal probiert die Klammern vor dem „SET“ (und die dahinter) wegzulassen (s.o.)

Und die Fehlermeldungen wären bei solchen Anfragen auch immer ganz schön :wink:


Hast recht - Fehlermeldung war:

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 '(SET aus_timestamp = ‚1292338099‘, aus_datum = curdate(), aus_zeit = curtime()) ’ at line 1

Auch nach dem Weglassen der Klammern keine Besserung, Neustart IPS-Dienst, dann Klammern weglassen und ERFOLG (Mal sehen,wie lange:)).

Merkwürdig, aber egal.

Sieht also nun so aus:

				      if (GetValue($item) == TRUE and $ping == FALSE)
								{
								/* SQL-Befehl festlegen */
								$sql = "UPDATE ips.netzwerk SET aus_timestamp = '$time', aus_datum = curdate(), aus_zeit = curtime() WHERE ipadresse = '$ip_adr'";
								/* SQL-Befehl ausführen */
								mysql_query($sql) or die (mysql_error());
     							}
				      if (GetValue($item) == FALSE and $ping == TRUE)
								{
								/* SQL-Befehl festlegen */
								$sql = "INSERT INTO ips.netzwerk (ipadresse, ein_timestamp, ein_datum, ein_zeit) VALUES ('$ip_adr', '$time', curdate(), curtime())";
								/* SQL-Befehl ausführen */
								mysql_query($sql) or die (mysql_error());
								}
				      SetValue($item, $ping);					// Ping-Ergnis speichern

Danke für die Hilfe. Wenn das ganze Script fertig, stelle ich es hier im Forum mal vor.