2017-01-28 4 views
3

Продолжайте получать это предупреждение:Оператор SQL UPDATE неудачу с ошибкой SQL

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression '' WHERE id = 86'., SQL state 37000 in SQLExecDirect

независимо от того, как я редактирую эту команду SQL UPDATE:

$sqlU = "UPDATE inv20152016 
     SET coNo = '$coNo', cusNo = '$cusNo', rcvTech = '$rcvTech', 
      rcvLoc = '$rcvLoc', rcvDate = '$rcvDate', rcyTech = '$rcyTech', 
      rcyLoc = '$rcyLoc', rcyDate = '$rcyDate', rtnTech = '$rtnTech', 
      rtnLoc = '$rtnLoc', rtnDate = '$rtnDate', cusInvNo = '$cusInvNo', 
      notes = '$notes 
     WHERE id = '$rcyId'"; 
    if (!$rs=odbc_exec($conn,$sqlU)) { 
     echo '<br />Error UPDATE\'ing new record: (' . $sqlU . ')<br />'; 
     goto end; 
    } else { 
     echo '<br />RECORD successfully UPDATE\'d in database.recycle20152016<br />'; //$sqlUpdate<br />; 
     header('location: searchDb.php'); 
     exit(); 
    } 

После попытки представить UPDATE я получаю вернулся на на странице заявки:

Error UPDATE'ing new record: (UPDATE inv20152016 SET coNo = '658454', cusNo = '3282', rcvTech = 'Dave Phillips', rcvLoc = 'Sparington', rcvDate = '2016-11-15', rcyTech = 'Melo Hazak', rcyLoc = 'Wildmere', rcyDate = '2016-02-16', rtnTech = 'Dave Phillips', rtnLoc = 'Sparington', rtnDate = '2016-02-25', cusInvNo = '', notes = ' WHERE id = 86)

Кажется, что все валы UPDATE ожидаются, включая id в предложении WHERE. Я играл с цитатами и интервалами между варами без изменений. Я проверил типы данных в интерфейсе доступа ACCESS к данным, которые были нажаты для обновления.

Любые идеи, почему это утверждение UPDATE может не работать?

+0

Если вы можете прочитать код, вы можете отлаживать код – RiggsFolly

+1

Интересно, что ваш 'WHERE' пункт * идентификатор * значение заключено в кавычки, но не в возвращенном SQL. – Parfait

+0

Ясно здесь 'notes = '$ notes' в конце отсутствует пропущенная цитата –

ответ

7

Вы оставили единственную цитату ' с notes = '$notes columnId var.

Try:

$sqlU = "UPDATE inv20152016 
     SET coNo = '$coNo', cusNo = '$cusNo', rcvTech = '$rcvTech', rcvLoc = '$rcvLoc', rcvDate = '$rcvDate', rcyTech = '$rcyTech', rcyLoc = '$rcyLoc', rcyDate = '$rcyDate', rtnTech = '$rtnTech', rtnLoc = '$rtnLoc', rtnDate = '$rtnDate', cusInvNo = '$cusInvNo', notes = '$notes' 
     WHERE id = '$rcyId'"; 
    if (!$rs=odbc_exec($conn,$sqlU)) { 
     echo '<br />Error UPDATE\'ing new record: (' . $sqlU . ')<br />'; 
     goto end; 
    } else { 
     echo '<br />RECORD successfully UPDATE\'d in database.recycle20152016<br />'; //$sqlUpdate<br />; 
     header('location: searchDb.php'); 
     exit(); 
    } 
1

Дата выражение должно быть завернуто в octothorpes:

rcyDate = #2016/02/16# 
Смежные вопросы