Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разные результаты запроса 
:(
    Опции темы
Самозванка
Дата 13.3.2009, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Есть запрос 
Код

SELECT pid, title, counter, active FROM slaed_catalog_movie ORDER BY counter DESC LIMIT 0,10

Так вот при выполнении его через PhpMyAdmin один результат...

А при выполнении такого php кода другой результат:
Код

global  $user_prefix, $db, $sitename, $anonymous;

$topview_lim=10;
$a = 1;
$res = $db->sql_query("SELECT pid, title, counter, active FROM slaed_catalog_movie ORDER BY counter DESC LIMIT 0,$topview_lim");

while($a2 = $db->sql_fetchrow($res))
 {
    $pid = $a2['pid'];
    if(strlen($a2['title'])>16){$title = substr(stripslashes($a2['title']),0,16)."...";}else{$title = stripslashes($a2['title']);}

    if ($a<10) {
    $content .= "&nbsp;0$a: <a href=\"index.php?name=Video&pa=showvideo&pid=$pid\">$title </a><br>";
    } else {
    $content .= "&nbsp;$a: <a href=\"index.php?name=Video&pa=showvideo&pid=$pid\">$title </a><br>";
    }
    $a++;
}


в чем может быть дело?

Это сообщение отредактировал(а) Самозванка - 13.3.2009, 10:24
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 10:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



а чем именно отличаются результаты?
PM   Вверх
Самозванка
Дата 13.3.2009, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



azesmcar, делает неверную сортировку по counter ....  когда из базы беру counter соответсвенно 121,98,74 ...
а когда из скрипта проверяю вообще четырех значные значения, а такого быть не может... странно... не понимаю откуда они вообще берутся

PM MAIL ICQ   Вверх
Самозванка
Дата 13.3.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



блин, ну что за хрень????  smile  smile  smile 
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Код

$res = mysql_query("SELECT pid, title, counter, active FROM slaed_catalog_movie ORDER BY counter DESC LIMIT 0, 10");
while ($obj = mysql_fetch_object($res))
{
    print_r($obj);
}


смотрим результат, сравниваем..если нормально (т.е. результат совпадает с phpMyAdmin) значит проблема в функциях..если все равно отличается, попробуй в другой программе, в консоли MySQL в конце концов..может phpMyAdmin ошибается..и такое бывает
PM   Вверх
Самозванка
Дата 13.3.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



мде , функция выдала по второму варианту.... результат... но почему??? через SQL Manager где я напрямую к базе подсоединяюсь и PHPMyadmin выдают первый вариант....

Добавлено через 13 минут и 21 секунду
Получается , что при подключении к базе напрямую в таблице slaed_catalog_movie хранится одно значение поля counter, а при подключении через движок ( php) другое... очень странно....
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



просто подумалось..а вы точно и там и там к одной и той же базе цепляетесь??? может бэкап какой нибудь с другими данными?

PM   Вверх
Самозванка
Дата 13.3.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



абсолютно точно к одной... продолжаю копать... 
PM MAIL ICQ   Вверх
unicross
Дата 13.3.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Самозванка, вы бы результаты запроса показали... В одном и втором случаях. А также структуру таблицы. Может жить сразу станет легче... smile 

А то получается, что в вашем примере вы вообще к полю counter не обращаетесь. Только к pid и title.
Вы не путаете значения полей counter и pid ?

Выполните запрос
Код

SELECT COUNT(*) FROM slaed_catalog_movie

и сравните результат. Если он разный, то и таблицы разные... smile

Добавлено через 4 минуты и 26 секунд
Цитата(Самозванка @  13.3.2009,  10:23 Найти цитируемый пост)
sql_fetchrow($res)

Цитата(Самозванка @  13.3.2009,  10:23 Найти цитируемый пост)
$pid = $a2['pid'];

Тут случаем нет ошибки? Стандартные функции с таким названием возвращают результат в виде списка, а не ассоциативного массива... Понимаю, что класс самописный и всякое возможно...
PM MAIL WWW   Вверх
azesmcar
Дата 13.3.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата

Тут случаем нет ошибки? Стандартные функции с таким названием возвращают результат в виде списка, а не ассоциативного массива... Понимаю, что класс самописный и всякое возможно...


ну потому я и попросил запустить код со стандартными функциями..

Цитата

Самозванка, вы бы результаты запроса показали... В одном и втором случаях. А также структуру таблицы. Может жить сразу станет легче... smile 


а вот это и в самом деле не помешает smile
PM   Вверх
Самозванка
Дата 13.3.2009, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



ёклмн, разное число строк получается.... но как такое быть может...? обрщение к одной таблицы идет.

Добавлено через 1 минуту и 22 секунды
А суть заключается в том, что в первом случае в поле counter лежит число просмотров фильмов, в другом случае - число скачек...
обращение к одному соединению с БД и к одной и той же таблицы.

Добавлено через 1 минуту и 25 секунд
А суть заключается в том, что в первом случае в поле counter лежит число просмотров фильмов, в другом случае - число скачек...
обращение к одному соединению с БД и к одной и той же таблицы.
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата

ёклмн, разное число строк получается.... но как такое быть может...? обрщение к одной таблицы идет. 


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

CHECK TABLE TBL_NAME EXTENDED;


а то я как Станиславский сейчас начну кричат "НЕ ВЕРЮ"..не может быть такого, phpMyAdmin теми же функциями работает с базой

Это сообщение отредактировал(а) azesmcar - 13.3.2009, 14:36
PM   Вверх
Самозванка
Дата 13.3.2009, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



в результате получаем такое 
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 ) 

в обоих случаях... 
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата

в обоих случаях...  


в каких обоих случаях?? перезагрузи MySQL, повтори

Код

CHECK TABLE TBL_NAME EXTENDED;


проверь запрос
PM   Вверх
Самозванка
Дата 13.3.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Через 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 ) 
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата

Через 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 ) 


MySQL перезагрузила?

если не помогло и warning остался и после перезагрузки
Код

repair table [I]table_name[/I] quick;

PM   Вверх
Самозванка
Дата 13.3.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



предупреждения исчезло,  а толку то...((
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



Цитата

предупреждения исчезло,  а толку то...(( 


а запросы??? ничего не изменилось?
PM   Вверх
Самозванка
Дата 13.3.2009, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



ничего не изменилось... не понятно
PM MAIL ICQ   Вверх
azesmcar
Дата 13.3.2009, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 1
Всего: 211



структуру и содержимое таблицы в студию
PM   Вверх
unicross
Дата 13.3.2009, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Покажите подключение из класса, а также реализацию методов sql_query() и sql_fetchrow()
Цитата

 а толку то...((

Толк есть. Таблицу починили...

Создайте новую таблицу через phpMyAdmin. Например
Код

CREATE TABLE `slaed_catalog_movie2` (
  `id` int(11) NOT NULL auto_increment,
  `counter` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


INSERT INTO `slaed_catalog_movie2` VALUES (1, 10);
INSERT INTO `slaed_catalog_movie2` VALUES (2, 5);
INSERT INTO `slaed_catalog_movie2` VALUES (3, 3);
INSERT INTO `slaed_catalog_movie2` VALUES (4, 12);

Выполните запрос из скрипта и из phpMyAdmin
Код

SELECT `counter` FROM `slaed_catalog_movie2` ORDER BY `counter` DESC

Где не видно таблицы slaed_catalog_movie2 ?
PM MAIL WWW   Вверх
Самозванка
Дата 13.3.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



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

Добавлено через 2 минуты и 31 секунду
хотя нет... скрипт соединяется с таким хостом localhost:/tmp/mysql2.sock, а я с localhost через sql manager .... это может повлиять???
PM MAIL ICQ   Вверх
unicross
Дата 13.3.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата(Самозванка @  13.3.2009,  16:52 Найти цитируемый пост)
 но как же так? соединяюсь к одному хосту...

Код

<?php
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('kino', $db) or die(mysql_error());
mysql_query('SET NAMES cp1251', $db);
$res = mysql_query('SELECT `counter` FROM `slaed_catalog_movie2` ORDER BY `counter` DESC', $db);
if (!$res) die(mysql_error());
while ($pole = mysql_fetch_array($res)) {
   echo $pole['counter'] . '<br>';
}
mysql_close($db);
?>

Запустите скрипт отдельно от вашего класса (замените данные подключения и кодировку на свои).

Добавлено @ 17:01
Цитата(unicross @  13.3.2009,  16:55 Найти цитируемый пост)
SELECT `counrter`

Ошибочка... 
Код

SELECT `counter`


Это сообщение отредактировал(а) unicross - 13.3.2009, 17:02
PM MAIL WWW   Вверх
Самозванка
Дата 13.3.2009, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



Цитата(unicross @  13.3.2009,  16:55 Найти цитируемый пост)
Запустите скрипт отдельно от вашего класса (замените данные подключения и кодировку на свои). 

так всё работает...  smile 
PM MAIL ICQ   Вверх
unicross
Дата 13.3.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата(Самозванка @  13.3.2009,  16:52 Найти цитируемый пост)
скрипт соединяется с таким хостом localhost:/tmp/mysql2.sock

Измените на localhost

Добавлено через 4 минуты и 2 секунды
Покажите подключение из класса, а также реализацию методов sql_query() и sql_fetchrow()
PM MAIL WWW   Вверх
Самозванка
Дата 13.3.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Девушка в стиле IT
**


Профиль
Группа: Завсегдатай
Сообщений: 484
Регистрация: 5.9.2006
Где: USA

Репутация: нет
Всего: 40



мде... вообщем этот модуль сайта заработал, когда убрала... зато остальные перестали работать... 
можете плиз мне объяснить что это такое /tmp/mysql2.sock
я не понимаю... часть базы хранится так, а другая просто на локалхост?

Добавлено через 22 секунды
и спасибо огромное за помощь всем... весь день убила...  smile 
PM MAIL ICQ   Вверх
unicross
Дата 13.3.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 5
Всего: 53



Цитата(Самозванка @  13.3.2009,  17:13 Найти цитируемый пост)
можете плиз мне объяснить что это такое /tmp/mysql2.sock

Что-то напоминает репликацию...
http://www.internet-technologies.ru/articles/article_24.html
PM MAIL WWW   Вверх
_GRIN_
Дата 19.3.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


одинокий падаван
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 18.11.2007
Где: Калуга

Репутация: нет
Всего: 7



Уважаемые, у меня сходная проблема.
в скрипте
Код

$query ="SELECT * FROM kvs_questions WHERE 
        id IN(SELECT ItemsID FROM kvs_permissions WHERE UserID=".$_SESSION['userID']." 
            AND Permission > ".Permission_NOTHING.") 
        AND (ParentID = $themeID)";
echo '$query= "'.$query.'"<br>'; //это я специально в браузер вывожу - уж сам себе не верю
$res = mysql_query($query);
if(mysql_num_rows($res)>0)
{
    $ret_array=array();
    while($Row=mysql_fetch_assoc($res)){$ret_array[$Row['id']]=$Row['Name'];}    
    return $ret_array;
}
else
{
    echo"mysql_num_rows($res)=".mysql_num_rows($res)."<br>";
}

в браузере в итоге отображается 
Цитата

$query= "SELECT * FROM kvs_questions WHERE id IN(SELECT ItemsID FROM kvs_permissions WHERE UserID=0 AND Permission > 0) AND (ParentID = 2)"
mysql_num_rows()=


в консоли же результат следующий:
Цитата

mysql> SELECT * FROM kvs_questions WHERE id IN(SELECT ItemsID FROM kvs_permissio
ns WHERE UserID=0 AND Permission > 0) AND (ParentID = 2);
+----+------------+----------+-----------+----------+------------+--------+
| id | isQuestion | ParentID | Name      | Question | TrueAnswer | Weight |
+----+------------+----------+-----------+----------+------------+--------+
|  3 |          0 |        2 | яюфЄхьр 1 | NULL     | NULL       |   NULL |
+----+------------+----------+-----------+----------+------------+--------+
1 row in set (0.00 sec)


не пойму в чём проблема

З.Ы. я в пхп чайник - по учёбе ваяю.

"Дело было не в бабине..." - при перезаходе не страницу забыл (точнее не знал что надо) подсоединиться к базе данных (думал что прошлый выбор базы сохранился, т.к. база в проекте одна) - вызов mysql_select_db() в начале функции получения контента решил проблему.

извиняюсь если у кого отнял время.

Это сообщение отредактировал(а) _GRIN_ - 20.3.2009, 01:41


--------------------
Дорогу осилит идущий
PM MAIL Skype   Вверх
IZ@TOP
Дата 20.3.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 4
Всего: 73



Цитата(Самозванка @  13.3.2009,  18:13 Найти цитируемый пост)
можете плиз мне объяснить что это такое /tmp/mysql2.sock


Это Unix-сокет. И, судя по двойке в имени, это второй MySQL на той же машине. По умолчанию, /tmp/mysql.sock - локальный сокет, который создает MySQL сервер. При указании имени хоста в клиенте mysql как localhost, производится попытка соединения по локальному сокету /tmp/mysql.sock, а потом уже по TCP/IP протоколу. 


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0775 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.