Seite 1 von 2

Fehler beim Einfügen des MySQL-Typs "Datetime"

Verfasst: 01.01.2007 11:50
von konne
folgenden PHP-Code wollte ich verwenden:

Code: Alles auswählen

$host = '***';
$user = '***';
$pass = '***';
$table = '***';
$mod = date('Y-m-d H:i:s', strtotime('now'));
$feld = 'mod';
$wert = '\''.$mod.'\'';
$mysql = mysql_pconnect($host, $user, $pass) or die("Keine Verbindung möglich!");
$input = "REPLACE INTO ".$table." (".$feld.") VALUES (".$wert.")";
mysql_query($input, $mysql) or die($err_msg="Anfrage fehlgeschlagen!");
leider wird nur "Anfrage fehlgeschlagen!" ausgegeben.
Mit anderen Datenfeldern funktioniert es, nur nicht mit diesem "Datetime".
Woran kann es liegen?

Verfasst: 01.01.2007 13:50
von Mr Death
Hi,

lass dir halt den mysql Fehler ausgeben mit 'mysql_error()'. Ersetze einfach die letzte Zeile deines Scripts mit:

Code: Alles auswählen

mysql_query($input, $mysql) or die(mysql_error()); 
MfG

Verfasst: 01.01.2007 14:10
von konne
Dann erhalte ich so etwas:

Code: Alles auswählen

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 'mod) VALUES ('2007-01-01 14:08:26')' at line 1
Aber was ist da genau am Syntax falsch?

Verfasst: 01.01.2007 15:57
von Miriam
Wäre es nicht sinnvoller vor dem Absenden der Query die DB auszuwählen?

Verfasst: 01.01.2007 16:08
von konne
Miriam hat geschrieben:Wäre es nicht sinnvoller vor dem Absenden der Query die DB auszuwählen?
Das ist nicht nötig. Bei allen anderen Datenfeldern funktioniert es problemlos nur eben bei diesem verdammten "Datetime" nicht.

Verfasst: 01.01.2007 18:24
von Miriam
Setze dn tabellennamen und den Spaltennanemn in Backsticks `.

Verfasst: 01.01.2007 19:24
von konne
Miriam hat geschrieben:Setze dn tabellennamen und den Spaltennanemn in Backsticks `.
Danke für den Tipp, ABER das Ergebnis bleibt gleich.

Verfasst: 01.01.2007 19:39
von Miriam
Hm, bei mir hat es dann geklappt. :o

Verfasst: 01.01.2007 19:41
von konne
Miriam hat geschrieben:Hm, bei mir hat es dann geklappt. :o
Uuuups, da hatte ich ein ` vergessen. Jetzt funktioniert es. Danke nochmal.
Verstehe zwar nicht, warum man mal ` braucht und ein anderes Mal eben nicht.

Verfasst: 01.01.2007 20:26
von BB-BF-BM
MOD ist ein von MySQL reserviertes Wort.
Reservierte Wörter müssen escaped werden!