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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Запрос о SELECT ... WHERE link='...' всегда даёт 0, Не могу понять в чём дело. 
:(
    Опции темы
137
Дата 4.10.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вобщем есть скрипт, который парсит html файл с ссылками на статьи и записывает эти статьи в MySQL таблицу 
Код

CREATE TABLE `articles` (
  `article_id` int(11) NOT NULL auto_increment,
  `article_linkname` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL default '',
  `article_name` varchar(100) NOT NULL default '',
  `article_text` longtext NOT NULL,
  `article_categ` int(11) NOT NULL default '0',
  `article_editmark` smallint(1) NOT NULL default '0',
  `article_h` smallint(6) NOT NULL default '0',
  `article_page` int(11) NOT NULL default '1',
  PRIMARY KEY  (`article_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=39 ;


в article_linkname пишется транслит названия статьи, для использования его в ЧПУ так вот...
Код

mysql_query("SELECT article_id FROM articles WHERE article_linkname='$article'", $link)

$article - это и есть этот транслит который получается из ссылки. И этот запрос всегда возвращает 0, даже если статей с таким именем несколько(так у меня разбиение на страницы построено).

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

и так вопрос:
В чем же может быть причина этой "мистики"?
 smile 

PM MAIL   Вверх
PARROT
Дата 4.10.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Напечатать запрос не пробовали? Какие ошибки выдает?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
137
Дата 4.10.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



никаих ошибок.. возвращает 0
PM MAIL   Вверх
PARROT
Дата 4.10.2007, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



запрос напечатайте и результат выложите сюда, вы на ошибки даже не проверяете. 



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
137
Дата 4.10.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



результата нет. он просто не находит запись в таблице.
если сделать так 
Код
$res=mysql_query("SELECT article_id FROM articles WHERE article_linkname='Kletka-'", $link);
print_r($res);


то печатает: Resource id #4
PM MAIL   Вверх
PARROT
Дата 4.10.2007, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 3
Всего: 50



Не...
Код

echo "SELECT article_id FROM articles WHERE article_linkname='Kletka-'";
$res=mysql_query("SELECT article_id FROM articles WHERE article_linkname='Kletka-'", $link) or die(mysql_error());

Да ниче. Посмотреть вообще, что у вас из базы приходит и приходит ли вообще что-то, если нуль.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
137
  Дата 4.10.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нету никаких ошибок. я уже это писал.  mysql_error() не говорит об ошибках.


Это сообщение отредактировал(а) 137 - 4.10.2007, 17:59
PM MAIL   Вверх
bambuk
Дата 4.10.2007, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

SELECT article_id, article_linkname FROM articles WHERE article_linkname='$article'

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


Новичок



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

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



даже если ставлю * не получается.
PM MAIL   Вверх
bambuk
Дата 4.10.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



можно на код взглянуть, где и что делаешь..? так что-либо трудновато сказать..
PM MAIL ICQ   Вверх
137
Дата 4.10.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

...
$cnstr=count($ex_article);
$linkname=translit($head);
while($pg<$cnstr)
{
    $req="INSERT INTO articles VALUES ('','".$linkname."', '".$head."', '".$ex_article[$pg]."', '0', '0', '0', '";
    $pg++;
    $req.=$pg."')";
    mysql_query($req, $link);
}
...

Вывод(получение id статей с таким именем):
Код

function getarticle_ids($article)
{
    global $link;
    ($res=mysql_query("SELECT article_id, article_linkname FROM articles WHERE article_linkname='$article'", $link)) || die("table is not_ ids");
    while($row=mysql_fetch_array($res))
        {
            $article_ids[]=$row['article_id'];
        }
    return $article_ids;
}



Это сообщение отредактировал(а) 137 - 4.10.2007, 18:35
PM MAIL   Вверх
Guedda
Дата 4.10.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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




M
Guedda
Модератор: Здесь не место для флуда! Тему закрываю!


Причина: Вы не хотите прислушаться к мнению помогающих Вам, 137.


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


 




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


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

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