Всем добрый день.
Открыто поле в базе, имя info тип символьный VARCHAR 200 в базе таблицы cart_product
При изменении уже существующей записи в базе по данному скрипту
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'cart_product`
SET `quantity` = `quantity` '.$qty.', ` info ` = '.$infoSUS.', `date_add` = NOW()
WHERE `id_product` = '.(int)$id_product.
(!empty($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : '').'
AND `id_cart` = '.(int)$this->id.(Configuration::get('PS_ALLOW_MULTISHIPPING') && $this->isMultiAddressDelivery() ? ' AND `id_address_delivery` = '.(int)$id_address_delivery : '').'
LIMIT 1'
);
Если строковая переменная $infoSUS содержит только цифры то все проходит нормально.
Если содержит только текст, то, выдает ошибку
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 'текст, `date_add` = NOW() WHERE `id_product` = 24 AND `id_product_at' at line 2
UPDATE `ps_cart_product`
SET `quantity` = `quantity` + 1,` info` = Мой текст, `date_add` = NOW()
WHERE `id_product` = 24 AND `id_product_attribute` = 2463
AND `id_cart` = 301
LIMIT 1
Почему требует проверить право MySQL сервера для использования текста?
Как это исправить?
Спасибо!!