|
|
|
| Имеются 2 запроса:
<?php
MYSQL_QUERY("UPDATE tbl_1 SET stats = stats+1 WHERE city_from = ".intval($_POST["city_from"])." AND city_to = ".intval($_POST["city_to"]));
MYSQL_QUERY("INSERT INTO tbl_2 (date, query_count) VALUES ('".date('Y-m-d')."', 1) ON DUPLICATE KEY UPDATE query_count = query_count+1");
?>
|
Данные запросы выполняются при каждом (определённом) запросе пользователя. Для предоставления мне статистических данных о количестве запросов.
Проблема заключается в том, что хаотичным образом начинают появляться расхождения в цифрах, когда я суммирую результаты tbl_1.stats и tbl_2.query_count. Всегда получается так что tbl_1.stats <= tbl_2.query_count.
Я уж начал грешить на то что данные в переменных переданных методом post, каким-то мистическим образом являются не валидными, из-за чего первый запрос иногда не выполняется, в отличие от второго. Сделал проверку, если выполнен первый запрос, то делать второй, но ситуации это не исправило.
Подскажите как быть? | |
|
|
|
|
|
|
|
для: Keyses
(08.07.2009 в 23:11)
| | Успешное выполнение первого запроса еще не означает истинности условия, которое стоит в его разделе WHERE.
Тут скорее интересно mysql_affected_rows()
Код можно было бы написать так, чтоб они влезали на экран без горизонтальной прокрутки. | |
|
|
|
|
|
|
|
для: Trianon
(08.07.2009 в 23:20)
| | А у Вас не влезает?)
Пока что так и сделал, посмотрим как оно будет. Только вот вопрос остаётся в чём причина такого странного поведения? Я более чем уверен что post-данные у меня везде корректны. | |
|
|
|