- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Опять у меня не фига не получается...Есть вот такая база с такими параметрами:
Импортировала туда вот такую базу данных:
"16799744","16799999","JP","Japan","Tokyo","Tokyo","35.689506","139.691700","214-0021","+09:00"
"16800000","16800255","JP","Japan","Hiroshima","Hiroshima","34.385280","132.455280","730-0011","+09:00"
Пытаюсь сделать запрос к базе и найти данные по конкретному айпи адресу:
$rem_ip = $_SERVER['REMOTE_ADDR'];
$con = mysql_connect("localhost","tester8","tester8") or die(mysql_error());
mysql_select_db("geoli2015") or die(mysql_error());
{
$ip = ip2long($rem_ip);
$res = mysql_query("SELECT * from ip2location_db11 WHERE $ip >= ip_from AND $ip <= ip_to") or die(mysql_error());
$row = mysql_fetch_array($res);
echo "<h1>Country Name : ".$row['country_name']."</h1><br />";
echo "<h1>Country Code : ".$row['country_code']."</h1><br />";
$res1 = mysql_query("SELECT COUNT(*) AS Total FROM ip2location_db11 WHERE") or die(mysql_error());
$row1 = mysql_fetch_array($res1);
echo $row1['Total'];
}
?>
И получаю вот такую ошибку :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table 2 WHERE -1124213214 >= ip_from AND -1124213214 <= ip_to' at line 1
Где я напортачила ?
Покажите весь SQL-запрос целиком.
Целиком, т.е. полностью.
В том виде, в каком посылаете его SQL-серверу.
;13605511']Покажите весь SQL-запрос целиком.
Целиком, т.е. полностью.
В том виде, в каком посылаете его SQL-серверу.
всё как написала
выполняю скрипт вот этот
$rem_ip = $_SERVER['REMOTE_ADDR'];
$con = mysql_connect("localhost","tester8","tester8") or die(mysql_error());
mysql_select_db("geoli2015") or die(mysql_error());
{
$ip = ip2long($rem_ip);
$res = mysql_query("SELECT * from ip2location_db11 WHERE $ip >= ip_from AND $ip <= ip_to") or die(mysql_error());
$row = mysql_fetch_array($res);
echo "<h1>Country Name : ".$row['country_name']."</h1><br />";
echo "<h1>Country Code : ".$row['country_code']."</h1><br />";
$res1 = mysql_query("SELECT COUNT(*) AS Total FROM ip2location_db11 WHERE") or die(mysql_error());
$row1 = mysql_fetch_array($res1);
echo $row1['Total'];
}
?>
но получаю теперь только:
Country Name :
Country Code :
То есть, синтаксическую ошибку самостоятельно исправили. Хорошо.
Теперь уберите "or die(...)" после mysql_query и всё заработает.
;13605565']То есть, синтаксическую ошибку самостоятельно исправили. Хорошо.
Теперь уберите "or die(...)" после mysql_query и всё заработает.
убрала... ничего не изменилось:
Country Name :
Country Code :
тоесть в базе ничего не находится (((
Вполне вероятно, что в базе не все диапазоны IP.
Чтобы в этом убедиться, сделайте поиск по базе с помощью, напрмиер, phpMyAdmin, подставив ваше значение (-1124213214)
;13605610']Вполне вероятно, что в базе не все диапазоны IP.
Чтобы в этом убедиться, сделайте поиск по базе с помощью, напрмиер, phpMyAdmin, подставив ваше значение (-1124213214)
вот вот, я как раз тоже на этом моменте ...почему этот лонг айпи получается с минусом ? )))))))))))
вот у меня почему-то база очень любит имена полей в обратных кавычках...
Короче сделала так, вместо
Сделала так:
и всё заработало ))) Но у меня есть вопрос по анолгичному скрипту на текстовом файле , можно я тут задам?
---------- Добавлено 24.03.2015 в 23:46 ----------
Вот есть ещё такой скрипт , работает на текстовом файле базы
ini_set('display_errors', 1);
error_reporting(E_ALL);
$ip = "85.37.154.122";
function removeQuotes($str) {
return trim($str, '"\' ');
}
$search = ip2long($ip);
foreach(file('./file.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINE) as $line)
{
$tmp = array_map('removeQuotes', explode(',', $line));
if(ip2long($tmp[0]) <= $search && $search <= ip2long($tmp[1]))
{
echo 'Ваша страна: ', $tmp[2], '<br>',
'Ваш регион: ', $tmp[3], '<br>',
'Ваш город: ', $tmp[4], '<hr>';
}
}
?>
Файл file.txt имеет такое содержимое:
"85.37.154.16","85.37.154.31","IT","Tuscany","Prato"
"85.37.154.32","85.37.154.39","IT","Tuscany","Pisa"
"85.37.154.40","85.37.154.63","IT","Tuscany","Arezzo"
"85.37.154.64","85.37.154.71","IT","Lazio","Rome"
"85.37.154.72","85.37.154.79","IT","Tuscany","Arezzo"
"85.37.154.80","85.37.154.103","IT","Lazio","Rome"
"85.37.154.104","85.37.154.111","IT","Tuscany","Florence"
"85.37.154.112","85.37.154.119","IT","Tuscany","Arezzo"
"85.37.154.120","85.37.154.127","IT","Tuscany","Pisa"
"85.37.154.128","85.37.154.143","IT","Lazio","Rome"
"85.37.154.144","85.37.154.151","IT","Tuscany","Prato"
"85.37.154.152","85.37.154.175","IT","Tuscany","Florence"
"85.37.154.176","85.37.154.183","IT","Tuscany","Pisa"
"85.37.154.184","85.37.154.191","IT","Tuscany","Arezzo"
"85.37.154.192","85.37.154.207","IT","Tuscany","Florence"
"85.37.154.208","85.37.154.223","IT","Tuscany","Pisa"
"85.37.154.224","85.37.154.239","IT","Lazio","Rome"
"85.37.154.240","85.37.155.15","IT","Tuscany","Florence"
В итоге получаю такую ошибку
Notice: Use of undefined constant FILE_IGNORE_NEW_LINE - assumed 'FILE_IGNORE_NEW_LINE' in /home/.............htdocs/2015.php on line 12
12-ая строка это вот эта
Почему так , и как исправить?
В итоге получаю такую ошибку
Notice: Use of undefined constant FILE_IGNORE_NEW_LINE - assumed 'FILE_IGNORE_NEW_LINE' in /home/.............htdocs/2015.php on line 12
Почему так , и как исправить?
Почитать здесь:
http://php.net/manual/en/function.file.php
Найти отличие в названиях флагов.
;13605678']Почитать здесь:
http://php.net/manual/en/function.file.php
Найти отличие в названиях флагов.
Дошлооооо ))))))))))) Букву S пропустила )))))))))))))