Я прочитал CSV-файл с использованием функции PHP fgetcsv и добавил/обновил продукты из csv в мой магазин opencart. Для этого я должен проверить, существует ли продукт или нет.В opencart запрос SELECT дает пустой результат, когда запись присутствует в таблице
Я написал следующую функцию для проверки, если продукт существует в моей модели:
function existProduct($searchValue)
{
$sql ="SELECT `product_id` FROM ".DB_PREFIX."product WHERE `model`='".$searchValue."'";
$result2 = $this->db->query($sql);
if ($result2->num_rows > 0)
{
return $result2->row['product_id'];
}
return false;
}
и вызовите контроллер следующим образом:
$productID = $this->model_tool_cust_import->existProduct($searchValue);
возвращает пустой результат, когда продукт присутствует в таблице продуктов, но если я передаю строковое значение в одинарных кавычках, он работает, например 'YS16034137'
:
$productID = $this->model_tool_cust_import->existProduct('YS16034137');
Я попытался использовать trim
, но это не сработало.
При использовании var_dump($searchValue)
я получил этот результат:
string 'Y�S�1�6�0�3�4�1�3�7' (length=19)
Кроме того, когда я пытаюсь echo $searchValue ;
это я получил выход YS16034137
.
С вашего вопроса неясно, что ваш код * должен делать *. В основном вы описываете *, что не работает *. [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) - Рассмотрите возможность редактирования своего вопроса, чтобы подчеркнуть ожидаемое поведение. –
Какое имя вашей таблицы? является '.DB_PREFIX' намеренным или это только' DB_PREFIX'? до DB_PREFIX. –
DB_PREFIX получить префикс в открытой корзине, имя таблицы - oc_product. echo $ ql Я получил вывод «SELECT product_id FROM oc_product WHERE' model' = 'YS16034137' " –