Halten Sie diese Warnung erhalten:SQL-Anweisung UPDATE Fehler mit SQL-Fehler
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
egal, wie ich diesen SQL UPDATE-Befehl bearbeiten:
$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();
}
Nach dem Versuch UPDATE vorzulegen ich die folgenden zurückgegeben bekommen die einreichen Seite:
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)
Es scheint, als ob alle UPDATE vars wie erwartet, einschließlich der 0.123.in der WHERE-Klausel. Ich habe mit dem Zitat und dem Abstand zwischen den Vars ohne Veränderung gespielt. Ich habe überprüft, dass die Datentypen im ACCESS-Backend mit den Daten übereinstimmen, die für das Update gedrückt werden.
Irgendwelche Ideen, warum diese UPDATE-Anweisung möglicherweise nicht funktioniert?
Wenn Sie den Code lesen können, können Sie den Code debuggen – RiggsFolly
Interessanterweise Ihre 'WHERE' Klausel * id * Wert wird in Anführungszeichen eingeschlossen, aber nicht in zurückgegebenem SQL. – Parfait
Hier ist eindeutig 'notes =' $ notes 'am Ende fehlt ein einzelnes Zitat –