Вот моя модель
public function getDetails($ip) { $this->db->select('country_code, country_name'); $this->db->where("'2323' BETWEEN begin_ip_num AND end_ip_num"); return $this->db->get('ip')->row(); }
Я получаю эту ошибку:
Unknown column ''2323'' in 'where clause' SELECT `country_code`, `country_name` FROM (`ip`) WHERE `2130706433` BETWEEN begin_ip_num AND end_ip_num
Где я не прав?
2323 оценивается как имя столбца, а begin_ip_num и end_ip_num как значения. Вы должны сделать наоборот, как это:
2323
begin_ip_num
end_ip_num
<?php public function getDetails($ip) { $this->db->select('country_code, country_name'); $this->db->where("begin_ip_num <= 2323 AND end_ip_num >= 2323"); return $this->db->get('ip')->row(); }
См. Справочник MySQL по 'BETWEEN' , как это следует использовать.
Я думаю, что вы имели в виду:
$this->db->where("$ip BETWEEN begin_ip_num AND end_ip_num");
Поскольку $ip исходит из функции вашей модели, вы хотите проверить.
$ip