[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: sql
Страницы: 1, 2
savelikan
Подскакажите, пожалуйста, будет ли работать без ошибки?
mysql_query(......) OR mysql_query(......);


_____________
Одесса - мой город!)))
Invis1ble
А как ошибки могут работать?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Valick
savelikan, вы бы лучше словами рассказали какую задачу вы себе поставили. И зачем понадобилась такая конструкция.


_____________
Стимулятор ~yoomoney - 41001303250491
savelikan
попытатся обновить запись в базе данных, а ести такой записи нет - записать
Но здесь REPLACE не подойдет

_____________
Одесса - мой город!)))
Valick
savelikan, не надо изобретать велосипед. Достаточно читать мануал.
INSERT
в частности ON DUPLICATE KEY UPDATE

_____________
Стимулятор ~yoomoney - 41001303250491
savelikan
Цитата (Valick @ 6.02.2015 - 15:10)
savelikan, не надо изобретать велосипед. Достаточно читать мануал.
INSERT
в частности ON DUPLICATE KEY UPDATE

у меня поля, по каких я провожу поиск это IP-адреса, оно не уникальное

_____________
Одесса - мой город!)))
Valick
savelikan, т.е. у вас одинаковые ip адреса в двух и более строках, как вы их отличаете друг от друга? Может что-то не так с организацией БД?

_____________
Стимулятор ~yoomoney - 41001303250491
savelikan
Цитата (Valick @ 6.02.2015 - 15:16)
savelikan, т.е. у вас одинаковые ip адреса в двух и более строках, как вы их отличаете друг от друга? Может что-то не так с организацией БД?

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

_____________
Одесса - мой город!)))
Valick
savelikan, так и браузеры могут совпасть?
В чем проблема сделать уникальный индекс на два поля?


_____________
Стимулятор ~yoomoney - 41001303250491
savelikan
Цитата (Valick @ 6.02.2015 - 15:21)
savelikan, так и браузеры могут совпасть?
В чем проблема сделать уникальный индекс на два поля?

Напремр: У двух человек одинаковый браузер, но разные IP
так может быть, правда?

_____________
Одесса - мой город!)))
Valick
savelikan
1) сделайте усилие над собой давать вменяемые названия темам.
2) сделайте усилие над собой доходчиво объяснять суть вопроса, и если это вопрос по теме sql то не поленитесь показать дамп таблицы (а иногда и данные)
3) сделайте усилие над собой понимать, то что вам отвечают. Я вам сказал, что от ситуации когда два разных пользователя могут иметь одинаковые ip и одинаковые браузеры вы ничем не застрахованы. И если этим процентом можно принебречь, то сделайте уникальный индекс на два поля, в частности ip+браузер

_____________
Стимулятор ~yoomoney - 41001303250491
savelikan
Ето скрипт отображения онлайн пользователей

CREATE TABLE IF NOT EXISTS `users_online` (
`users_online-id` int(11) NOT NULL AUTO_INCREMENT,
`users_online-ip` varchar(50) NOT NULL,
`users_online-guest` int(1) NOT NULL,
`users_online-user` int(11) NOT NULL,
`users_online-browser` varchar(200) NOT NULL,
`users_online-date` datetime NOT NULL,
`users_online-url` varchar(200) NOT NULL,
`users_online-href` varchar(200) NOT NULL,
`users_online-ref` varchar(200) NOT NULL,
PRIMARY KEY (`users_online-id`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ;

users_online-url - адрес страницы, на которой пользователь был в последний раз
users_online-href - информация для обображения в "кто сейчас на сайте" и на какой странице
users_online-ref - рефер

FOREACH($CONFIG['botagent'] AS $agent => $name){
IF(strpos($_SERVER['HTTP_USER_AGENT'], $agent)==TRUE){
$bot = $agent;
break;
}
}

IF($bot==TRUE){
$SQLonline = mysql_query("SELECT `users_online-id` FROM `users_online` WHERE `users_online-browser` = '".$agent."' LIMIT 1");
IF(mysql_num_rows($SQLonline)==1){
mysql_query("
UPDATE `users_online`
SET `users_online-date` = NOW()
WHERE
`users_online-browser` = '"
.$agent."'
LIMIT 1"
);
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
'',
'0',
'"
.$agent."',
NOW(),
'"
.$GLOBAL_online_save."',
'"
.$_SERVER['REQUEST_URI']."',
'"
.$_SERVER['HTTP_REFERER']."'
)
"
);
}
}
else {
IF($_SERVER['REQUEST_URI']!='/favicon.ico') {
IF($GLOBAL_user['users_id']>0){//Пользователь зарегистрирован
$SQLonline = mysql_query("
SELECT `users_online-id`
FROM `users_online`
WHERE
`users_online-user` = '"
.$GLOBAL_user['users_id']."'
LIMIT 1"
);
IF(mysql_num_rows($SQLonline)==1){
mysql_query("
UPDATE `users_online` SET
`users_online-date`=NOW(),
`users_online-url`='"
.$GLOBAL_online_save."',
`users_online-href` = '"
.$_SERVER['REQUEST_URI']."',
`users_online-ref` = '"
.$_SERVER['HTTP_REFERER']."'
WHERE `users_online-user` = '"
.$GLOBAL_user['users_id']."'
LIMIT 1
"
);
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-id`,
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
NULL,
'"
.func_getIP()."',
'"
.$GLOBAL_user['users_id']."',
'"
.$_SERVER['HTTP_USER_AGENT']."',
NOW(),
'"
.$GLOBAL_online_save."',
'"
.$_SERVER['REQUEST_URI']."',
'"
.$_SERVER['HTTP_REFERER']."'
)
"
);
}
}
else {//
$SQLonline = mysql_query("
SELECT `users_online-id`
FROM `users_online`
WHERE
`users_online-ip` = '"
.func_getIP()."' AND
`users_online-browser` = '"
.$_SERVER['HTTP_USER_AGENT']."'
LIMIT 1"
);
IF(mysql_num_rows($SQLonline)==1){
$TSTonline = mysql_fetch_array($SQLonline);
mysql_query("
UPDATE `users_online` SET
`users_online-date`=NOW(),
`users_online-url`='"
.$GLOBAL_online_save."',
`users_online-href` = '"
.$_SERVER['REQUEST_URI']."',
`users_online-ref` = '"
.$_SERVER['HTTP_REFERER']."'
WHERE `users_online-id` = '"
.$TSTonline['users_online-id']."'
LIMIT 1
"
);
} else {
mysql_query("
INSERT INTO `users_online`(
`users_online-id`,
`users_online-ip`,
`users_online-user`,
`users_online-browser`,
`users_online-date`,
`users_online-url`,
`users_online-href`,
`users_online-ref`
) VALUES (
NULL,
'"
.func_getIP()."',
'0',
'"
.$_SERVER['HTTP_USER_AGENT']."',
NOW(),
'"
.$GLOBAL_online_save."',
'"
.$_SERVER['REQUEST_URI']."',
'"
.$_SERVER['HTTP_REFERER']."'
)
"
);
}
}
}
}


_____________
Одесса - мой город!)))
Быстрый ответ:

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