2013-07-24 3 views
0

Я пытаюсь вставить введенные пользователем значения, а также строку, которая представляет собой комбинацию месяца месяца начальной даты + введенного пользователем квартала. Что не так. пожалуйста помоги!!!!!Ошибка синтаксиса MySql, вставка

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "addUser")) { 
$date= $_POST['start_date']; 
$d=date_parse_from_format("Y-m-d",$date); 
    $insertSQL = sprintf("INSERT INTO contacts (USER_NAME, START_DATE, THREE_MONTH, SIX_MONTH, TWELVE_MONTH, QUARTER, ORDER) VALUES (%s, %s, %s, %s, %s, %s,'".$d["month"].$d["year"].$_POST['quarter']."')", 
         GetSQLValueString($_POST['user'], "text"), 
         GetSQLValueString($_POST['start_date'], "date"), 
         GetSQLValueString($_POST['3month'], "date"), 
         GetSQLValueString($_POST['6month'], "date"), 
         GetSQLValueString($_POST['12month'], "date"), 
         GetSQLValueString($_POST['quarter'], "text")); 

ошибки я получаю:

У Вас есть ошибка в вашем SQL синтаксиса; проверьте, что соответствует вашей версии сервера MySQL для правильного синтаксиса для использования рядом с «ЗАКАЗОМ». VALUES ('boobz', '2013-11-22', '2013-11-29', '2013-11- 23' , „2013-11-02“, 'в строке 1

+9

ЗАКАЗ является зарезервированным словом в SQL. Если вы действительно должны использовать его, вам нужно процитировать его с обратными выводами; но это значительно упрощает время, если вы избежите наименования столбцов и таблиц после зарезервированных слов в первую очередь. – andrewsi

+0

Можете ли вы показать нам, что у вас в переменной '$ insertSQL'? – FSou1

+0

@andrewsi Почему бы не сделать ответ? –

ответ

2

ORDER резервируется слово. Используйте ` или лучше изменить его на что-то другое в структуре базы данных. это лучшая практика.

2

Заказ является зарезервированное слово, вы должны указать его на обратные выходы:

INSERT INTO contacts (USER_NAME, START_DATE, THREE_MONTH, SIX_MONTH, TWELVE_MONTH, QUARTER, `ORDER`) 

or еще лучше, не используйте зарезервированное слово и используйте что-то более разумное.

Смежные вопросы