Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не срабатывает mysql запрос


Recommended Posts

public function filterCategory() {
	$query =$this->db->query("INSERT INTO " . DB_PREFIX . "category_filter SET category_id = '1', filter_id = '5'");
	}

К сожалению тоже не срабатывает и в бд информацию не добавляет 

Надіслати
Поділитися на інших сайтах


Как посмотреть лог ошибок?

 

С базой ошибиться не могу с таблицей тоже.

 

Этот запрос пытаюсь встроить в файл обмена с 1с. Может последовательность влияет роль, хотя запрос идет самым последним в файле.

Надіслати
Поділитися на інших сайтах


Задам глупый вопрос 

А саму функцию Вы случайно не забыли вызвать в контролере ? 

Надіслати
Поділитися на інших сайтах

а в самом контролере он и индексе  ?

Надіслати
Поділитися на інших сайтах

тогда все должно быть тут

function index {

}

Надіслати
Поділитися на інших сайтах


<?php

class ControllerModuleExchange1c extends Controller {

private $error = array();

public function index() {

...

...

...

//Добавляем фильтр в категорию

$this->model_tool_exchange1c->filterCategory();

}

...

...

...}

?>

Надіслати
Поділитися на інших сайтах


а кто его знает, это гадания на хрустальном шаре 

Надіслати
Поділитися на інших сайтах

Запрос не посредственно из mysql

И вы не замечаете в чём кардинальная разница между этими запросами?

Подсказка: SET - это часть UPDATE запроса.

 

И, похоже, кроме Otvet никто этого так и не заметил.

Надіслати
Поділитися на інших сайтах


Не начинайте детский сад.

Первый попавшийся запрос движка:

$this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', option_value = '" . $this->db->escape($product_option['option_value']) . "', required = '" . (int)$product_option['required'] . "'");

Или хотя бы попробовали выполнить такой запрос в mysql.

Надіслати
Поділитися на інших сайтах

И вы не замечаете в чём кардинальная разница между этими запросами?

Подсказка: SET - это часть UPDATE запроса.

 

И, похоже, кроме Otvet никто этого так и не заметил.

прошу мануал 

 

http://dev.mysql.com/doc/refman/5.7/en/insert.html

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name,...)]
    SET col_name={expr | DEFAULT}, ...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]
Надіслати
Поділитися на інших сайтах

и еще вот такой синтаксис есть 

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name,...)]
    [(col_name,...)]
    SELECT ...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]
Надіслати
Поділитися на інших сайтах

 

прошу мануал 

 

http://dev.mysql.com/doc/refman/5.7/en/insert.html

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name,...)]
    SET col_name={expr | DEFAULT}, ...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]

А действительно.

Как говорит Гугл, это не часть SQL, а синтаксис конкретно MySQL.

 

Первый попавшийся запрос движка

По идее, это значит, что ОК несовместим, например, с PostgreSQL.

Надіслати
Поділитися на інших сайтах


А действительно.

Как говорит Гугл, это не часть SQL, а синтаксис конкретно MySQL.

 

 

 

По идее, это значит, что ОК несовместим, например, с PostgreSQL.

драйвер есть, по поводу совместимость не скажу, не тестировал, но вроде в документации нет SET

  • +1 1
Надіслати
Поділитися на інших сайтах

public function filterCategory() {
    $query =$this->db->query("INSERT INTO " . DB_PREFIX . "category_filter SET category = '1', filter_id = '5'");
category_filter как я думаю это таблица
На выходе рабочий код

public function filterCategory() {

    $query =$this->db->query("INSERT INTO " . DB_PREFIX . "`category_filter`(`category`, `filter_id`) VALUES ('1', '5')");

Змінено користувачем interpol
  • +1 1
Надіслати
Поділитися на інших сайтах


Есть подозрение, что там дело даже не в запросе.

Возможно просто не доходит дело до выполнения этого кода.

 

Вставьте перед вызовом функции:

$this->log->write('DEBUG: test');

И посмотрите, появляется ли этот текст в логе.

Если нет, то копайте почему не вызывается функция контроллера.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.