как обновить базу в prestashop 1.5 - PullRequest
0 голосов
/ 02 июля 2018

В настоящее время я разрабатываю платежный модуль PrestaShop и у меня возникают проблемы с обновлением пользовательского столбца в базе данных

$sql = 'UPDATE `'._DB_PREFIX_.'Webpay_transactions` 
     SET `Customer_id` = '.(int)$customer->id.', 
         `ResponseCode`= '.pSQL($responsecode).',
         `ResponseDescription`='.pSQL($desc).',
         `ApprovedAmount`= '.(int)$transamount.',
         `ReturnedReference`= '.pSQL($retRef).',
         `CardNumber`='.(int)$cardNum.',
         `Order_reference`= '.(int)$this->module->currentOrder.'
         WHERE `TransactionRef` = '.(int)$txn_ref.'';
Db::getInstance()->execute($sql);

1 Ответ

0 голосов
/ 04 июля 2018

ОК, я понял, откуда возникла проблема. переменная TransactionRef содержала специальные символы, которые не были правильными; Мне пришлось выяснить некоторые факты, и я наконец нашел решение.

$txn_ref = "TXN|EDUCON|798004|6|131"

 Db::getInstance()->Execute('UPDATE `'._DB_PREFIX_.'Webpay_transactions` 
            set Customer_id =\''.(int)$customer->id.'\', 
                ResponseCode = \''.pSQL($responsecode).'\',
                ResponseDescription = \''.pSQL($desc).'\',
                ApprovedAmount = \''.(int)$transamount.'\',
                ReturnedReference = \''.pSQL($retRef).'\',
                CardNumber = \''.(int)$cardNum.'\',
                Order_reference = \''.(int)$this->module->currentOrder.'\'

            WHERE TransactionRef = \''.pSQL($txn_ref).'\''); 
...