Перейти к содержанию
dogora

[решено] $query->row возвращает не ту строку

Рекомендуемые сообщения

Здравствуйте.

Помогите пожалуйста разобраться, вроде как код работал, но внезапно непонятным для меня образом перестал.

 $sql = "SELECT `id`, `name_address`, `tariffzone` FROM " .
 DB_PREFIX . "`pickup_boxberry` " .
 "WHERE `name_city` = '" . $this->db->escape($city) . "'";
	 
$query = $this->db->query( $sql );
	

	
if($query->num_rows) {

    $tariff_zone = $query->row['tariffzone'];
    $tariff_zones = $this->config->get('boxberry');

    $this->session->data['test'] =  $query->row['id']; //Результат не соответствует условию WHERE 


    $pickup = array();
    foreach ( $query->rows as $result ){
	$pickup[] = array(
                'id'   => $result['id'], // А здесь всё нормально!
                'text' => $result['name_address']
        );
             
    }
		
}
		

В первом случае пытаюсь записать полученное значение в session->data, чтобы можно было использовать значение при подсчете доставки (я немного упростил скрипт, убрав то что не имеет отношения к проблеме).

Также, я пробовал использовать $query->rows[0]['столбец']. Получаемая строка из БД не соответствует условию, указанному в sql запросе. Ниже у меня идет составление массива и там всё нормально работает!

Я в отчаянии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

во-первых:

указывайте DB_PREFIX в правильном месте

$sql = "SELECT `id`, `name_address`, `tariffzone` FROM `".DB_PREFIX."pickup_boxberry` WHERE `name_city` = '".$this->db->escape($city)."'";
во-вторых:

сколько строк возвращается?

что значит @Результат не соответствует условию WHERE@ ? какие там данные?

что в итоге оказывается в массиве $pickup ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ. Проблема решена.

Функция работает правильно, но другой модуль вызывал её несколько раз подряд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.