- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Уже 6 часов сижу и не могу въехать, где ошибка.
Есть строка. Вот она "312147,,To_Win_Match.1". Скажите, почему запрос
select count(*) from `table` where `str`='312147,,To_Win_Match.1' возващает всегда 0?
Проверял, ошибки в строке нет. Даже пробовал хранить не строку, а мд5 от неё и мд5 и сравнивать - не помогает. Уверен, здесь какая-то тупая оплошность.
А select count(*) from `table` where `str` LIKE '312147,,To_Win_Match.1' что возвращает?
Извините, ошибся, когда уже сообщение составлял. Разумеется, в запросе у меня like стоит, а не =
А если так?
... обращаю внимание на отсутствие обратных кавычек при указании таблицы и заголовка, на тестовой БД вариант заработал только в таком виде.
Да, самое интересное, что в пхп май админе всё работает. И результат верный выдаёт, а при запросе из скрипта - увы. На соединение не пинайте, проверял - работает.
Алгоритм таков, что если такую запись не находит путём моей проверки, то добавляет новую. Так вот, у меня получается в таблице появляется много записей с таким значением 312147,,To_Win_Match.1
Да, самое интересное, что в пхп май админе всё работает. И результат верный выдаёт, а при запросе из скрипта - увы. На соединение не пинайте, проверял - работает.
Показать запрос из кода можете?
public function sdelana_stavka($data){
$count=mysql_result(mysql_query("select count(*) from `book_bets` where `bet_data` like '".$data."'"),0);
if ($count>0){
$this->ss=true;
} else {
$this->ss=false; //nikogda ne popadaet suda
}
}
Делал также select *, а потом смотрел на mysql_num_rows, один хрен - банан. Всё время выдаёт 0.
Разочаровывает то, что самое сложное во всём скрипте сделано. Два дня потрачено, а тут такое плёвое дело, а всё стопорит.
Удалено к чертям, предположения ложные.
Уважаемый Mad_Man, спасибо Вам за помощь (без иронии и сарказма). Просто вы не в ту сторону копаете. Просто такое чувство, что вы думаете, что я не разбираюсь совсем и пытаетесь уличить меня на моих ошибках.
Если вы скопируете mysql_query("select count(*) from `book_bets` where `bet_data` like '".$data."'" в текстовой файл, то обнаружите, что те кавычки, на которые Вы указали, там есть.
Говоря, про голый селект я имел ввиду, что вместо count(*) делал также просто *, т.е. запрос выглядел вот так
$r=mysql_query("select * from `book_bets` where `bet_data` like '".$data."'");
if (mysql_num_rows($r)>0)......
Я с пхп работаю давно, не стоит искать ошибки в синтаксисе. Интересует именно почему на сервере он всегда возвращает 0.
В любом случае, спасибо за помощь. Если у Вас есть ещё идеи - поделитесь, хоть куда копать - дальше я всё сделаю сам.
Я с пхп работаю давно, не стоит искать ошибки в синтаксисе. Интересует именно почему на сервере он всегда возвращает 0.
Ни на каком сервере не возвращается ноль. Ошибка в синтаксисе, если такие данные есть. die($data) что говорит? И mysql_escape_string не помешал бы
Именно потому , что у вас ошибка в операторах. Ниже правильный вариант: