nie String-Daten in der sQL-Anweisung ein, ohne die Daten zu desinfizierende oder Sie am Ende mit sql-Injektionen (absichtliche oder unbeabsichtigte Injektionen), siehe http://php.net/mysql_real_escape_string Wenn Sie keinen Debugger installiert haben, lassen Sie PHP die SQL-Anweisung drucken, so dass Sie es überprüfen können.
Formatieren und einrücken Sie Ihre SQL-Abfragen. Sie sind viel einfacher zu lesen und zu debuggen.
Überprüfen Sie immer den Rückgabewert von mysql_query(). Wenn es FALSE ist, ist die Abfrage fehlgeschlagen und mysql_errno() oder mysql_error() kann Ihnen mehr über die Ursache des Fehlers erzählen.
Wenn Sie eine Kennung verwenden möchten, die auch eine reserved word for MySQL ist, müssen Sie fast immer in Backticks (`) oder double_quotes (in Ansi-Modus) setzen.
Das Format von Datum/Uhrzeit-Literale von MySQL verstanden wird bei http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html erklärt
Mit _REQUEST für INSERT-Operationen sein kann fragwürdig ... aber ich lasse, dass
<?php
$mysql = mysql_connect...
$query = " INSERT INTO `calendar` (`event`, `from`, `to`, `day`) VALUES ( '" . mysql_real_escape_string($_REQUEST['event'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['from_time'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['to_time'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['date_event'], $mysql]) ."' ) "; echo '<pre>$query=', htmlspecialchars($query), '</pre>'; $result = mysql_query($query, $mysql); if (!$result) { echo 'error: ', mysql_error($mysql); }
;-) anderen zu beantworten und BTW: Verwenden Sie stattdessen
prepared statements.
@Mike: Hallo Mike. habe gerade einen kleinen Tippfehler in Ihrem Code-Snippet gefunden: $ mysqlDateString = Datum ('Y-m-d H: i: s', $ strtotime ("08/09/2009")); Der $ sollte von $ strtotime entfernt werden ("08/09/2009"). :) –