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

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

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

Beitrag 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?
Mr Death
Mitglied
Beiträge: 45
Registriert: 06.05.2005 18:59

Beitrag 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
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag 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?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Wäre es nicht sinnvoller vor dem Absenden der Query die DB auszuwählen?
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag 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.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Setze dn tabellennamen und den Spaltennanemn in Backsticks `.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag von konne »

Miriam hat geschrieben:Setze dn tabellennamen und den Spaltennanemn in Backsticks `.
Danke für den Tipp, ABER das Ergebnis bleibt gleich.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Hm, bei mir hat es dann geklappt. :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
konne
Mitglied
Beiträge: 250
Registriert: 26.08.2004 15:30
Kontaktdaten:

Beitrag 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.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

MOD ist ein von MySQL reserviertes Wort.
Reservierte Wörter müssen escaped werden!
Antworten

Zurück zu „Coding & Technik“