Mysql – #1064 – You have an error in your SQL syntax; check the manual for the right syntax to use near ”&lt)’ at line 1

MySQLmysql-5.5

DATABASE SERVER

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.56-cll-lve – MySQL Community Server (GPL)
Protocol version: 10
Server charset: UTF-8 Unicode (utf8)

WEB SERVER

cpsrvd 11.66.0.18
Database client version: libmysql – 5.1.73
PHP extension: mysqli, curl, mbstring
PHP version: 5.6.30

phpMyAdmin

Version information: 4.7.3

I am using phpMyAdmin to update the column text which type is text with the following query:

UPDATE `oc_product_tab` SET `text` = '<p><u><strong>Ελλάδα:</strong></u><br />\r\nΗ αποστολή - αφού έχει επιβεβαιωθεί η παραγγελία σας - πραγματοποιείτε <strong>σε όλη την Ελλάδα</strong> με ταχυμεταφορά courier και η παράδοση γίνετε σε 1-3 εργάσιμες ημέρες στη διεύθυνση που θα δηλώσετε.<br />\r\nΤο κόστος των μεταφορικών είναι <strong>3 ευρώ</strong> για παραγγελίες κάτω των 15 ευρώ.<br />\r\n<strong>Για παραγγελίες άνω των 15 ευρώ η αποστολή είναι δωρεάν Πανελλαδικά.</strong><br />\r\nΣτις περιπτώσεις όπου η πληρωμή γίνεται με αντικαταβολή η <strong>χρέωση αντικαταβολής</strong> είναι <strong>2€</strong> επιπλέον.<br />\r\n<u><strong>Εξωτερικό:</strong></u><br />\r\nΣε όλες τις χώρες της Ευρωπαϊκής Ένωσης η <strong>χρέωση</strong> αποστολής είναι <strong>12€</strong> για παραγγελία βάρους έως 3 κιλών ανεξαρτήτου της ποσότητας παραγγελίας και φτάνει στην πόρτα σας μεταξύ 5 έως 8 εργάσιμων ημερών.<br />\r\nΓια παραγγελίες άνω των <strong>150€ εντός Ευρωπαϊκής Ένωσης</strong> τα έξοδα αποστολής είναι <strong>ΔΩΡΕΑΝ!</strong><br />\r\nΣτις υπόλοιπες χώρες η αποστολή γίνεται μέσω των δημόσιων ταχυδρομείων. Η χρέωση αποστολής καθώς και οι ημέρες παράδοσης εξαρτώνται από τη ζώνη αποστολής. Θα σας ενημερώσουμε μέσω e-mail ή τηλεφωνικά αφού ολοκληρώσετε τη διαδικασία παραγγελίας σας και πριν σας αποσταλούν τα εμπορεύματα.</p>\r\n' WHERE `oc_product_tab`.`tab_id` = 2 AND `oc_product_tab`.`language_id` = 2;

and the error is

#1064 - 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 ''&lt)' at line 1

I have changed the name of the column from text to mytext (because text is a reserved word for MySQL) and the error shows up again.

If I use this query:

UPDATE `oc_product_tab` SET `text` = '' WHERE `language_id` = 2 AND `tab_id` = 2

It works.

What am i doing wrong?

Best Answer

I'll bet one of those semicolons is really a Greek question mark (utf8 hex CDBE). I point out the visual problem in http://mysql.rjweb.org/doc.php/charcoll#other_natural_languages