Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Считать из базы с условием [WHERE + AND] 
V
    Опции темы
suxxor
Дата 5.3.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть таблица `flist`:
  • `file` VARCHAR(255)
  •  `md5` TEXT
  •  `count` int(10)
в первой таблице встречаются одинаковые записи, делаю запрос с помощью PHP

Код

$query = mysql_query('SELECT * FROM `flist` WHERE `file` = "'. basename($file_path) .'" AND `md5` = "'. md5_file($filepath) .'"');
$row = mysql_fetch_array($query);

echo $row['count'];


выводит первую запись из колонки `file` где имя равно basename($file_path), вне зависимости от MD5

Как правильно составить запрос чтобы возвращала только с определённым MD5?

Это сообщение отредактировал(а) suxxor - 5.3.2011, 16:23
PM   Вверх
Akina
Дата 5.3.2011, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Код

$SQL = 'SELECT * FROM `flist` WHERE `file` = "'. basename($file_path) .'" AND `md5` = "'. md5_file($filepath) .'"';
$query = mysql_query($SQL);

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
suxxor
Дата 5.3.2011, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Через PHP не выводит, попробовал через PhpMyAdmin - РАБОТАЕТ

Код

SELECT * FROM `flist` WHERE `file` = "fname.dat" AND `md5` = "0000000000000000000000000000"


что с PHP не так делаю?

результат пытаюсь получить так:

Код

$row = mysql_fetch_array($query);


Это сообщение отредактировал(а) suxxor - 5.3.2011, 19:46
PM   Вверх
Akina
Дата 5.3.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Это раздел по MySQL, а не по PHP.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
suxxor
Дата 5.3.2011, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



это же по теме, не создавать же мне новую тему из-за этого
PM   Вверх
bars80080
Дата 5.3.2011, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(suxxor @  5.3.2011,  18:43 Найти цитируемый пост)
что с PHP не так делаю?

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

mysql магией не занимается, как и php. можно только повторить: проверьте, что у вас в запросе, и что в выводе
не надо предполагать, просто сделайте это:

Код

$sql = 'SELECT * FROM `flist` WHERE `file` = "fname.dat" AND `md5` = "0000000000000000000000000000"';
echo '<br />SQL: '.$sql;
$q = mysql_query($sql);
echo '<br />error: '.mysql_error();
$r = mysql_fetch_assoc($q);
var_dump($r);

если после такого кода не поймёте в чём проблема, то полный вывод сюда. так как есть, а не примерный результат

Добавлено через 2 минуты и 36 секунд
Цитата(suxxor @  5.3.2011,  19:58 Найти цитируемый пост)
это же по теме, не создавать же мне новую тему из-за этого 

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

желательно было бы со стороны модераторов перенести тему в раздел пхп: базы данных
PM MAIL WWW   Вверх
suxxor
Дата 5.3.2011, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



этот код работает! может ошибка в конкактенации строк?! всем спасибо, дальше сам попробую разобраться! + не могу поставить, ибо тупое правило "100 сообщений"

Это сообщение отредактировал(а) suxxor - 5.3.2011, 21:33
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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