2015-03-10 6 views
1

Мне нужна еще одна пара глаз, чтобы посмотреть, где я ошибся. Выполнение приведенных ниже кодов дает мне эту ошибку.PHP odbc ON DUPLICATE KEY

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement., SQL state 37000 in SQLExecDirect in C:\xampp\htdocs\ClinicalSolution\UpdateStatusControl.php on line 82 
Testing of queue status failed. Error in SQL. 

Это мои коды. Без «ON DUPLICATE KEY» мой оператор insert работает плавно, поэтому я не уверен, где я ошибся.

$TestQueueStatus = "INSERT INTO QueueLine (NRIC,QueueTime,ActiveStatus,PriorityStatus) 
     VALUES ('".$_SESSION['NRICnumber']."','".$QueueTime."','1','".$PriorityStatus."') ON DUPLICATE KEY UPDATE PriorityStatus='".$PriorityStatus."'"; 

$TestQueueLine=odbc_exec($dbc,$TestQueueStatus); 
    if (!$TestQueueLine) { 
      exit("Testing of queue status failed. Error in SQL."); 
    } 
odbc_close($dbc); 

ответ

0

Вы пытались добавить точку с запятой в конце вашего SQL-запроса?

$TestQueueStatus = "INSERT INTO QueueLine (NRIC,QueueTime,ActiveStatus,PriorityStatus) 
        VALUES ('".$_SESSION['NRICnumber']."','".$QueueTime."','1','".$PriorityStatus."') ON DUPLICATE KEY UPDATE PriorityStatus='".$PriorityStatus."';"; 
+0

Да, я попытался добавить, но он не работает. –

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