Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Where в mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Where в mysql
cooperok
Отправлено: 04 Января, 2012 - 18:06:33
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




Здраствуйте, есть проблема одна, немогу никак решить.

когда пользователь заходит на сайт нужно что бы произошла проверка
есть ли запись в базе
по 3 полям
rid - тут записывается ID пользователя ну кто рекламит ссылку
ip - тут ип того пользователя который зашел на сайт
browse - тут браузер
$sql = "SELECT * FROM unik WHERE (rid='$idbanner') AND (ip='$ip') AND (browse='$browse')";

на данный момент проверка идет если
(rid='$idbanner')есть то все уже не правильно как бы он проверяет совпадение по одному из 3х полей которые я задал.

нужно сделать так что бы если все 3 поля совпадаю тогда выполняется скрипт


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
OrmaJever Модератор
Отправлено: 04 Января, 2012 - 18:12:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




место AND написать OR


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 18:12:19
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM unik WHERE rid='$idbanner' and ip='$ip' and browse='$browse'";

должно сработать http://dspace[dot]utlib[dot]ee/dspace/bi[dot][dot][dot]____or__and[dot]html


OrmaJever пишет:
место AND написать OR
- OR это же ИЛИ а AND И Оо или я путаю?

(Отредактировано автором: 04 Января, 2012 - 18:14:08)

 
 Top
cooperok
Отправлено: 04 Января, 2012 - 18:15:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




PATCH
так уже пробывал, до этого так писал но не работает


OrmaJever
сейчас попрбую
(Добавление)
все равно не работает
(Добавление)
CODE (htmlphp):
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM unik WHERE rid='$idbanner' AND ip='$ip' AND browse='$browse'";
  2. $result = mysql_query($sql);
  3. if(mysql_num_rows($result)==0){
  4.  
  5.         $result = mysql_query("UPDATE  banners SET  views=(views+1), balans=(balans-0.005) WHERE id='$idbanner'");
  6.         $result = mysql_query("UPDATE  user SET  balans=(balans+0.003) WHERE username='$username'");
  7.         $result = mysql_query("INSERT INTO unik (rid, ip, browse, data) VALUES ('$idbanner', '$ip', '$browse', '$fecha')");
  8.         if ($balanssilki<($cena*2))
  9.         {
  10.         $result = mysql_query("UPDATE  banners SET  status=0 WHERE id='$idbanner'");
  11.         }
  12.  
  13.        
  14.        
  15. }else{
  16.  
  17.   $resultater = mysql_query("SELECT * FROM unik WHERE rid='$idbanner' AND ip='$ip' AND browse='$browse'");
  18.         $arrays = mysql_fetch_array($resultater);
  19.        
  20.         if ( ($arrays['data'])<$tekdata)
  21.         {
  22.         echo "ж";
  23.         $result = mysql_query("UPDATE  banners SET  views=(views+1), balans=(balans-0.005) WHERE id='$idbanner'");
  24.         $results = mysql_query("UPDATE  unik SET  ip='$ip',browse='$browse',data='$fecha' WHERE rid='$idbanner'");
  25.         $result = mysql_query("UPDATE  user SET  balans=(balans+0.003) WHERE username='$username'");
  26.         if ($balanssilki<($cena*2))
  27.         {
  28.         $result = mysql_query("UPDATE  banners SET  status=0 WHERE id='$idbanner'");
  29.         }
  30.         }
  31.        
  32. }



вот код может не в этом проблема


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 18:23:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




должно через and работать у тебя наверно значение $ip и $browser передаются одни и теже)
(Добавление)
мне с этого кода тока первая строка нужна остальное откудо берется значение 3ех переменых куда важнее
 
 Top
cooperok
Отправлено: 04 Января, 2012 - 18:27:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. $idbanner=$array['id'];
  2. $ip=$_SERVER['REMOTE_ADDR'];
  3. $browse=$_SERVER['HTTP_USER_AGENT'];


$idbanner тоже берется из базы но там все норм работает там часто будет одинаковое число
ну тоесть ID партнера


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 18:36:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




давай в качестве теста воспользуемся крутым оператором echo перед запросом в бд
CODE (SQL):
скопировать код в буфер обмена
  1. $sql = "SELECT * FROM unik WHERE rid='$idbanner' AND ip='$ip' AND browse='$browse'";
- пишем echo "idbanner=".$idbanner." ip=".$ip." browser=".$browser;

теперь тестим заходим с помощью разных браузеров и смотрим что нам выводит в этой строке и в том что отбирается с бд и выводит нам (кстати для отладки лучше закоментировать последующий код что бы нас не путал и вывести тока содержимое выборки с базы). тут 3 варианта
A)если в нашей строке отладки все нормально (меняется значение браузера) то в таблице наверно есть еще запись с этим же баннером с этого же ип но с другим браузером
Б) если значение не меняется то смотрите ошибку в коде.- в частности переприсваевание переменных
В) все нормально выводит вы просто переседели гляда на код) отдохните)

(Отредактировано автором: 04 Января, 2012 - 18:39:58)

 
 Top
cooperok
Отправлено: 04 Января, 2012 - 18:44:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




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

все оказалось изза того что не в ту папку файл заливал, а так щас все стало работать

$sql = "SELECT * FROM unik WHERE rid='$idbanner' AND ip='$ip' AND browse='$browse'";

все работает,

спс что напомнил оператор echo а то бы долго еще искал проблему


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 18:54:41
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




да нз) echo кстати помойму все используют для отладки)
 
 Top
cooperok
Отправлено: 04 Января, 2012 - 18:59:47
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




PATCH
я просто не такой уж провессионла)
но в будущем буду пользоватся


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 19:03:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




хах типо я прО)) хАх)DD ну спасибо хатя ет не так)) далеко уж))
 
 Top
cooperok
Отправлено: 04 Января, 2012 - 19:06:51
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




да я просто сам все методом тыка узнал, и узнаю дальше, тут на форуме столько уже вопросов позадовал)


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
PATCH
Отправлено: 04 Января, 2012 - 19:10:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




ет не метод тыка эт метод исключения оринтеровочно рабочего кода от предположительно не рабочего кода D ну эт я так их называю)DD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB