Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает запрос к базе данных MySQL из PHP-кода.
 
 автор: alexander95   (13.11.2011 в 19:38)   письмо автору
 
 


<?
...
$rec=mysql_query("SELECT dname FROM files WHERE name='{$name}'");
    if(!
$rec){
        echo 
"Такого файла не существует.";
        exit();
    } else {
        
mysql_query("UPDATE files SET rate = rate + 1 WHERE name='{$_COOKIE['name']}'"); //вот тут ничего не происходит.
        
$dname=mysql_result($rec,0);
        
header("Content-Disposition: attachment; filename=$dname");
        
header("Content-Type: application/x-force-download; name=$dname");    
        echo 
file_get_contents("share/$name");
    }
?>


При этом напрямую в базе запись обновляется..

  Ответить  
 
 автор: flaers   (13.11.2011 в 21:24)   письмо автору
 
   для: alexander95   (13.11.2011 в 19:38)
 

rate =rate + 1

если у вас rate это переменная, то
mysql_query("UPDATE files SET `rate` = '".++$rate."' WHERE name='{$_COOKIE['name']}'");

  Ответить  
 
 автор: alexander95   (13.11.2011 в 21:48)   письмо автору
 
   для: flaers   (13.11.2011 в 21:24)
 

нет, rate - название столбца

  Ответить  
 
 автор: flaers   (13.11.2011 в 21:59)   письмо автору
 
   для: alexander95   (13.11.2011 в 21:48)
 

ну вы в название столбца кладете что? значение переменной, так?

  Ответить  
 
 автор: alexander95   (13.11.2011 в 22:28)   письмо автору
 
   для: flaers   (13.11.2011 в 21:59)
 

Изначально rate=0.
При скачивании файла к этому полю должна добавляться 1. Понимаете, когда я просто в терминале пишу
UPDATE files SET rate=rate+1 WHERE name='%тут имя%'
, то все срабатывает.

  Ответить  
 
 автор: Jovidon   (13.11.2011 в 23:01)   письмо автору
 
   для: alexander95   (13.11.2011 в 22:28)
 

UPDATE files SET rate = '1' WHERE name='{$_COOKIE['name']}';


оператор UPDATE имеет слудующий синтаксис друг

UPDATE tbl
SET coll1='expr1',coll2='expr2',coll3='expr3'........
WHERE id = 'блабла';

  Ответить  
 
 автор: alexander95   (15.11.2011 в 21:06)   письмо автору
 
   для: Jovidon   (13.11.2011 в 23:01)
 

Ага, спасибо большое. Только мне не нужно, чтобы у каждого файла рейтинг 1 был равен.

Все же, в чем проблема?

  Ответить  
 
 автор: alexander95   (15.11.2011 в 21:26)   письмо автору
 
   для: alexander95   (13.11.2011 в 19:38)
 

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

  Ответить  
 
 автор: flaers   (16.11.2011 в 16:07)   письмо автору
 
   для: alexander95   (15.11.2011 в 21:26)
 

rate = rate + 1

что у вас делает этот код?
второе слово rate это у вас что?

  Ответить  
 
 автор: alexander95   (16.11.2011 в 19:39)   письмо автору
 
   для: flaers   (16.11.2011 в 16:07)
 

значение этого поля.

вот пример v
mysql> UPDATE persondata SET age=age*2, age=age+1;

  Ответить  
 
 автор: flaers   (16.11.2011 в 20:48)   письмо автору
 
   для: alexander95   (16.11.2011 в 19:39)
 

тогда проверте, что выводит $_COOKIE['name'] и какого типа у вас поле, в которое записывается куки

также посмотрите, какую ошибку пишет mysql
http://php.net/manual/ru/function.mysql-error.php

  Ответить  
 
 автор: ride   (17.11.2011 в 21:53)   письмо автору
 
   для: alexander95   (13.11.2011 в 19:38)
 

if(!$rec){ 
        echo "Такого файла не существует."; 
        exit(); 
    } else { 
...
}

здесь происходит не то, что вы ожидаете. посмотрите в мануале что возвращает mysql_query

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования