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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mysql SELECT COUNT(*). Не понимаю в чем проблема, Uncknown * where clause.  
V
    Опции темы
Wheels
Дата 18.8.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

$id=$_GET['id'];
$infa=db_query("SELECT * FROM news WHERE id=$id");
$row=mysql_fetch_array($infa);

$pinfa=db_query("SELECT COUNT(*) FROM news_photos WHERE newsplace = $row[place]");
$prow=mysql_fetch_array($pinfa);
$totally=$prow[0];


Unknown column '18_08_2009_1' in 'where clause'

Никак не могу понять где в этом элементарном коде ошибка. Посмотрите свежим глазом, пожалуйста.

Код

CREATE TABLE `news` (
  `id` int(4) unsigned NOT NULL auto_increment,
  `place` tinytext,
  `name` tinytext NOT NULL,
  `body` text NOT NULL,
  `date` tinytext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
 
Дамп данных таблицы `news`
INSERT INTO `news` VALUES (1, '18_08_2009_1', 'ываыва', 'ыва ываывыаыва', '2009-08-18 12:38:40');



CREATE TABLE `news_photos` (
  `id` int(4) unsigned NOT NULL auto_increment,
  `newsplace` tinytext NOT NULL,
  `pic` int(11) NOT NULL,
  `album` enum('yes','no') NOT NULL,
  `albumdir` int(11) NOT NULL,
  `comment` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

Дамп данных таблицы `news_photos`

INSERT INTO `news_photos` VALUES (1, '18_08_2009_1', 0, 'no', 0, 'выаываыв аываываыва');
INSERT INTO `news_photos` VALUES (2, '18_08_2009_1', 1, 'no', 0, 'ываыва ываываыаыва');
INSERT INTO `news_photos` VALUES (3, '18_08_2009_1', 2, 'no', 0, 'ываыв аываыва');


Заранее ОГРОМНЕЙШЕЕ человеческое спасибо.
PM MAIL ICQ   Вверх
enof
Дата 18.8.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



$row['place'] в кавычки нужно заключить.
PM MAIL ICQ Skype   Вверх
MoLeX
Дата 18.8.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Код

$pinfa=db_query("SELECT COUNT(*) FROM news_photos WHERE newsplace = '".$row['place']."'");


опередил enof


на 1 сек  smile 

Это сообщение отредактировал(а) MoLeX - 18.8.2009, 12:23


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Wheels
Дата 18.8.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(enof @  18.8.2009,  12:21 Найти цитируемый пост)
$row['place'] в кавычки нужно заключить. 



Цитата(MoLeX @  18.8.2009,  12:22 Найти цитируемый пост)
опередил enof


Тфу ты, блин ))

Большое спасибо, ребят. Сижу и торможу. Выспаться что ли...
PM MAIL ICQ   Вверх
MoLeX
Дата 18.8.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



Цитата(Wheels @  18.8.2009,  12:29 Найти цитируемый пост)
Выспаться что ли... 

 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 18.8.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вообще-то, обработка строковых данных для помещения в строку, включает в себя не только кавычки по краям, но и прослешивание в середине.
Так что надо пойти, покрепче выспаться, и дописать mysql_real_escape_string
PM MAIL   Вверх
Wheels
Дата 18.8.2009, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Ипатьев @  18.8.2009,  13:40 Найти цитируемый пост)
Вообще-то, обработка строковых данных для помещения в строку, включает в себя не только кавычки по краям, но и прослешивание в середине.
Так что надо пойти, покрепче выспаться, и дописать mysql_real_escape_string 



Оно есть у меня. Я убрал все лишнее, перед тем, как на форум написать. Но все равно спасибо =)
PM MAIL ICQ   Вверх
Ипатьев
Дата 18.8.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Хм. Очень странная идея - убирать часть кода перед тем, как просить найти в нем ошибку. 
Разве что, можно опять свалить на недостаток сна...

$_GET['id'] тоже этой функцией обратабывается?
PM MAIL   Вверх
Wheels
Дата 18.8.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Ипатьев @  18.8.2009,  13:53 Найти цитируемый пост)
$_GET['id'] тоже этой функцией обратабывается? 


Да, тоже обрабатывается. Убрал, что бы нагляднее выглядело потому что ошибка что с ней, что без нее одинаково лезла. У меня, вот, например, желание вникать в чужой код уменьшается прямо пропорционально его количеству. Думаю, что я не одинок и если уж есть проблема - стараюсь свести все к минимуму задавая вопрос.  Меня сбило с толку "where clause" (ошибка, указывающая на отсутствие столбца).
Код

$infa=db_query("SELECT * FROM news WHERE id='" . mysql_escape_string($id) . "'");


Еще раз большое спасибо.

Это сообщение отредактировал(а) Wheels - 19.8.2009, 13:37
PM MAIL ICQ   Вверх
Ипатьев
Дата 18.8.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну, ошибка-то как раз понятная. в кавычках пишутся данные, а без - как раз имена полей, так что, все закономерно.

А удаление кода, вплоть до кавычек, как-то странно выглядит, особенно если учесть, что в них и было все дело smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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