Синтаксическая ошибка SQL в mysql

Я вставляю значение в таблицу MySQL из php как:

 $journey = $_POST['way']; $from = $_POST['from']; $to = $_POST['to']; $dpdt = $_POST['dp_date']; $rtdt = $_POST['rt_date']; $fare = $_POST['fare']; $sql = "insert into tours set " . "journey='$journey', from='$from', to='$to', dp_date=CAST('$dpdt' AS DATE), " . "rt_date=CAST('$rtdt' AS DATE), fare='$fare'"; 

при попытке echo для $sql я получаю вывод как:

 insert into tours set journey='round', from='Aurangabad', to='Kashmir', dp_date=CAST('27-08-2013' AS DATE), rt_date=CAST('21-08-2013' AS DATE), fare='2500' 

но я постоянно получаю то же сообщение об ошибке:

 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 'from=Aurangabad, to='Kashmir', dp_date=CAST('27-08-2013' AS DATE), rt_date=CAST(' at line 1 

даже если я попытаюсь удалить ' вокруг значений имен столбцов.
Я использую тот же синтаксис для вставки данных, и это работает нормально.
Что случилось с этим?
Почему MySQL не дает правильной ошибки для такой ужасной ошибки?

 `from`='$from', `to`='$to' 

FROM – зарезервированное слово, использующее backtick вокруг него.

FROM – зарезервированное ключевое слово, и вы не должны его использовать. См. Здесь

'from' и 'to' являются резервными словами

Попробуйте сделать так

 [from] = 'Aurangabad', [to] ='Kashmir' 

FROM – это ключевое слово SQL. Вы не должны использовать это без разделителей в качестве имени столбца.