[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос
Kukaramba


Пытаюсь сделать запрос на получение погоды (геотеггинг), пытаюсь наладить связь с таблицей, где хранится погода (город, страна, область)...
Не могу выполнить запрос:
$ccc = 'RU';
$query = 'SELECT * FROM `weather_country` WHERE `iso2` = ".$ccc."';

В таблице iso2 есть значение ru. Если писать
$query = 'SELECT * FROM `weather_country` WHERE `iso2` = "ru"';

то запрос обрабатывается и выдает таблицу.
Как быть?
Lumix
может так

$ccc = 'ru';
$query = "SELECT * FROM `weather_country` WHERE `iso2` =" .$ccc ;
Kukaramba
Unknown column 'RU' in 'where clause'
Kukaramba
Вообще - суть кода сделать погоду на сайте.

$str = 'http://ipgeobase.ru:7020/geo?ip='.$_SERVER['REMOTE_ADDR'];
$content = file_get_contents($str);
preg_match_all('#<country>(.*)(</country>)#Usi', $content, $matches);
$country = $matches[0][0];
preg_match_all('#<city>(.*)(</city>)#Usi', $content, $matches);
$city = $matches[0][0];
preg_match_all('#<region>(.*)(</region>)#Usi', $content, $matches);
$region = $matches[0][0];
echo 'Country: '.$country.'<br>';
echo 'City: '.$city.'<br>';
echo 'Region: '.$region.'<br>';


Так я хочу понимать откуда человек пришел.

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

Проблема в том, что при поиске страны/города - он мне выводит ошибку (сверху написана) или не выводит вообще.

У меня уже мысли есть по поводу кодировки. Возможно информация о локации посетителя приходит не в той кодировке?...

Возможно ли привести к единой кодировке с помощью запроса?
NitroGenerate

$ccc = 'ru';
$query = 'SELECT * FROM `weather_country` WHERE `iso2` = \'".$ccc."\'';


В одинарные кавычки слова ставить нужно ;)
Derack
Цитата (Lumix @ 28.05.2013 - 14:37)
может так

$ccc = 'ru';
$query = "SELECT * FROM `weather_country` WHERE `iso2` =" .$ccc ;

... все правильно написал...

там iso2 имеет параметр $ccc

все эти запросы можно на русский перевести


$ccc = 'ru';
$query = "SELECT * FROM `weather_country` WHERE `iso2` =" .$ccc ;


выбираем ВСЕ из таблицы weather_country где поле `iso2` !точно равно переменной $ccc ...

вот таки...

а то что у тебя unknow это странно
кстати заметил в запросе ошибку

скорее всего правильнее будет так

$query = "SELECT * FROM weather_country WHERE `iso2` = `" .$ccc."`" ;

...

а слэши ставить не надо ...

это мое мнение
Derack
может кстати запрос быть другим... в зависимости от версии mysql
и значением поля... т.е. нужно еще и знать значение переменной iso2
если это текстовая переменная то должно быть все в поряде...
huh.gif надеюсь помог...
Kukaramba
iso2 в char....
Kukaramba
Вот - правильный ответ)

$query = "SELECT * FROM `weather_country` WHERE `iso2` = '$ccc'";


Очень помогло http://phpfaq.ru/slashes

Спасибо за помощь)
Игорь_Vasinsky
$query = "SELECT * FROM `weather_country` WHERE `iso2` = '".$ccc."'";


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.