| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Разные результаты запроса |
| Автор: Самозванка 13.3.2009, 10:23 | ||||
Есть запрос
Так вот при выполнении его через PhpMyAdmin один результат... А при выполнении такого php кода другой результат:
в чем может быть дело? |
| Автор: azesmcar 13.3.2009, 10:32 |
| а чем именно отличаются результаты? |
| Автор: Самозванка 13.3.2009, 11:08 |
| azesmcar, делает неверную сортировку по counter .... когда из базы беру counter соответсвенно 121,98,74 ... а когда из скрипта проверяю вообще четырех значные значения, а такого быть не может... странно... не понимаю откуда они вообще берутся |
| Автор: Самозванка 13.3.2009, 11:32 |
| блин, ну что за хрень???? |
| Автор: azesmcar 13.3.2009, 12:47 | ||
смотрим результат, сравниваем..если нормально (т.е. результат совпадает с phpMyAdmin) значит проблема в функциях..если все равно отличается, попробуй в другой программе, в консоли MySQL в конце концов..может phpMyAdmin ошибается..и такое бывает |
| Автор: Самозванка 13.3.2009, 13:26 |
| мде , функция выдала по второму варианту.... результат... но почему??? через SQL Manager где я напрямую к базе подсоединяюсь и PHPMyadmin выдают первый вариант.... Добавлено через 13 минут и 21 секунду Получается , что при подключении к базе напрямую в таблице slaed_catalog_movie хранится одно значение поля counter, а при подключении через движок ( php) другое... очень странно.... |
| Автор: azesmcar 13.3.2009, 13:43 |
| просто подумалось..а вы точно и там и там к одной и той же базе цепляетесь??? может бэкап какой нибудь с другими данными? |
| Автор: Самозванка 13.3.2009, 13:48 |
| абсолютно точно к одной... продолжаю копать... |
| Автор: unicross 13.3.2009, 14:02 | ||
| Самозванка, вы бы результаты запроса показали... В одном и втором случаях. А также структуру таблицы. Может жить сразу станет легче... А то получается, что в вашем примере вы вообще к полю counter не обращаетесь. Только к pid и title. Вы не путаете значения полей counter и pid ? Выполните запрос
и сравните результат. Если он разный, то и таблицы разные... Добавлено через 4 минуты и 26 секунд Тут случаем нет ошибки? Стандартные функции с таким названием возвращают результат в виде списка, а не ассоциативного массива... Понимаю, что класс самописный и всякое возможно... |
| Автор: azesmcar 13.3.2009, 14:18 | ||||
ну потому я и попросил запустить код со стандартными функциями..
а вот это и в самом деле не помешает |
| Автор: Самозванка 13.3.2009, 14:31 |
| ёклмн, разное число строк получается.... но как такое быть может...? обрщение к одной таблицы идет. Добавлено через 1 минуту и 22 секунды А суть заключается в том, что в первом случае в поле counter лежит число просмотров фильмов, в другом случае - число скачек... обращение к одному соединению с БД и к одной и той же таблицы. Добавлено через 1 минуту и 25 секунд А суть заключается в том, что в первом случае в поле counter лежит число просмотров фильмов, в другом случае - число скачек... обращение к одному соединению с БД и к одной и той же таблицы. |
| Автор: azesmcar 13.3.2009, 14:35 | ||||
проверьте каким пользователем цепляетесь к базе и там и там, к какому хосту, какую базу выбираете..не может такого быть.. проверьте таблицу
а то я как Станиславский сейчас начну кричат "НЕ ВЕРЮ"..не может быть такого, phpMyAdmin теми же функциями работает с базой |
| Автор: Самозванка 13.3.2009, 14:46 |
| в результате получаем такое stdClass Object ( [Table] => kino.slaed_catalog_movie [Op] => check [Msg_type] => warning [Msg_text] => 2 clients are using or haven't closed the table properly ) stdClass Object ( [Table] => kino.slaed_catalog_movie [Op] => check [Msg_type] => status [Msg_text] => OK ) в обоих случаях... |
| Автор: azesmcar 13.3.2009, 14:53 | ||||
в каких обоих случаях?? перезагрузи MySQL, повтори
проверь запрос |
| Автор: Самозванка 13.3.2009, 14:59 |
| Через SQL MANAGER получаю stdClass Object ( [Table] => kino.slaed_catalog_movie [Op] => check [Msg_type] => status [Msg_text] => OK А через php (движок) stdClass Object ( [Table] => kino.slaed_catalog_movie [Op] => check [Msg_type] => warning [Msg_text] => 2 clients are using or haven't closed the table properly ) stdClass Object ( [Table] => kino.slaed_catalog_movie [Op] => check [Msg_type] => status [Msg_text] => OK ) |
| Автор: azesmcar 13.3.2009, 15:06 | ||||
MySQL перезагрузила? если не помогло и warning остался и после перезагрузки
|
| Автор: Самозванка 13.3.2009, 15:17 |
| предупреждения исчезло, а толку то...(( |
| Автор: azesmcar 13.3.2009, 15:19 | ||
а запросы??? ничего не изменилось? |
| Автор: Самозванка 13.3.2009, 16:18 |
| ничего не изменилось... не понятно |
| Автор: azesmcar 13.3.2009, 16:22 |
| структуру и содержимое таблицы в студию |
| Автор: unicross 13.3.2009, 16:38 | ||||||
Покажите подключение из класса, а также реализацию методов sql_query() и sql_fetchrow()
Толк есть. Таблицу починили... Создайте новую таблицу через phpMyAdmin. Например
Выполните запрос из скрипта и из phpMyAdmin
Где не видно таблицы slaed_catalog_movie2 ? |
| Автор: Самозванка 13.3.2009, 16:52 |
| ну вот... создала табличку в phpmyadmin. в итоге когда выполняю запрос через скрипт, ее там не существует. получается разные базы типа... но как же так? соединяюсь к одному хосту... Добавлено через 2 минуты и 31 секунду хотя нет... скрипт соединяется с таким хостом localhost:/tmp/mysql2.sock, а я с localhost через sql manager .... это может повлиять??? |
| Автор: unicross 13.3.2009, 16:55 | ||||
Запустите скрипт отдельно от вашего класса (замените данные подключения и кодировку на свои). Добавлено @ 17:01 Ошибочка...
|
| Автор: Самозванка 13.3.2009, 17:03 | ||
так всё работает... |
| Автор: unicross 13.3.2009, 17:04 |
Измените на localhost Добавлено через 4 минуты и 2 секунды Покажите подключение из класса, а также реализацию методов sql_query() и sql_fetchrow() |
| Автор: Самозванка 13.3.2009, 17:13 |
| мде... вообщем этот модуль сайта заработал, когда убрала... зато остальные перестали работать... можете плиз мне объяснить что это такое /tmp/mysql2.sock я не понимаю... часть базы хранится так, а другая просто на локалхост? Добавлено через 22 секунды и спасибо огромное за помощь всем... весь день убила... |
| Автор: unicross 13.3.2009, 17:25 |
Что-то напоминает репликацию... http://www.internet-technologies.ru/articles/article_24.html |
| Автор: _GRIN_ 19.3.2009, 22:52 | ||||||
| Уважаемые, у меня сходная проблема. в скрипте
в браузере в итоге отображается
в консоли же результат следующий:
не пойму в чём проблема З.Ы. я в пхп чайник - по учёбе ваяю. "Дело было не в бабине..." - при перезаходе не страницу забыл (точнее не знал что надо) подсоединиться к базе данных (думал что прошлый выбор базы сохранился, т.к. база в проекте одна) - вызов mysql_select_db() в начале функции получения контента решил проблему. извиняюсь если у кого отнял время. |
| Автор: IZ@TOP 20.3.2009, 15:10 |
Это Unix-сокет. И, судя по двойке в имени, это второй MySQL на той же машине. По умолчанию, /tmp/mysql.sock - локальный сокет, который создает MySQL сервер. При указании имени хоста в клиенте mysql как localhost, производится попытка соединения по локальному сокету /tmp/mysql.sock, а потом уже по TCP/IP протоколу. |