Никогда не вставляйте строковые данные в оператор SQL без очистки данных, иначе вы получите SQL-инъекции (преднамеренные или непреднамеренные инъекции), см. http://php.net/mysql_real_escape_string
Если у вас не установлен отладчик, позвольте php напечатать оператор sql, чтобы вы могли проверить его.
Форматирование и отступ ваших запросов SQL. Их намного проще читать и отлаживать.
Всегда проверяйте возвращаемое значение mysql_query (). Если это ЛОЖЬ, запрос не выполнен и mysql_errno () или mysql_error () может рассказать вам больше о причине ошибки.
Если вы хотите использовать идентификатор, который также является зарезервированным словом для MySQL , вы почти всегда должны указывать его в обратных кавычках (`) или double_quotes (в режиме ansi).
Формат литералов даты / времени, понятный MySQL, объяснен на http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
Использование _REQUEST для операций INSERT может быть сомнительным ... но я оставляю это другим, чтобы ответить; -)
<code><?php
$mysql = mysql_connect...</p>
<p>$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), '
';
$ result = mysql_query ($ query, $ mysql);
if (! $ result) {
echo 'error:', mysql_error ($ mysql);
} И кстати: используйте вместо этого
подготовленные операторы .