ФорумПрограммированиеPHP для идиотов → Не обновляется информация

Не обновляется информация

  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 июля 2009 г. 11:00, спустя 1 час 44 минуты 53 секунды

    У меня на сайте есть файл, который отвечает за количество скачиваний.

    Почему-то не может добавить данные в базу. Не пойму по чему. Помогите разобраться!

    вот код файла


    <?php include('config.php');

    if(isset($_GET['id_book']))
    {
    $id = $_GET['id_book'];
    }
    $result_load_book = mysql_query("SELECT * FROM all_books WHERE id='$id'", $con);

    if(!$result_load_book)
    {
    echo "<br><p>При подключении к базе данных возникла ошибка!</p><br><br>";
    exit(mysql_error());
    }
    if(mysql_num_rows($result_load_book) > 0)
    {
    $load_book = mysql_fetch_array($result_load_book);
    $url_book = $load_book['url'];
    $nlbu = mysql_query("UPDATE all_books SET load=load+1 WHERE id='$id'");
    if($nlbu)
    {
    echo "<html>
     <head>
     <meta http-equiv='Refresh' content='0; URL=$url_book'></head></html>";
    exit();
    }
    else
    {
    echo "Обновление не произошло!";
    }
    }
    else
    {
    echo "<br><p>В базе данных нет информации!</p>";
    }

    ?>


    Перескакивает на
    echo "Обновление не произошло!";



    Инфо от таблице



    – Структура таблицы `all_books`


    CREATE TABLE IF NOT EXISTS `all_books` (
     `id` int(11) NOT NULL auto_increment,
     `cat` int(11) NOT NULL,
     `title` varchar(255) NOT NULL,
     `meta_k` varchar(255) NOT NULL,
     `meta_d` varchar(255) NOT NULL,
     `date` date NOT NULL,
     `author` varchar(255) NOT NULL,
     `img` varchar(255) NOT NULL,
     `url` varchar(255) NOT NULL,
     `mb` varchar(5) NOT NULL,
     `load` varchar(255) NOT NULL,
     PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;

    Спустя 67 сек.
    Может быть такое, что из-за
    `load` varchar(255) NOT NULL,
    тип ячейки не тот. Может быть INT?
    Спустя 250 сек.
    Работу скрипта можете посмотреть здесь http://bookarticle.jino.ru/ Нажмите на скачать.
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 19 июля 2009 г. 9:04, спустя 22 часа 4 минуты 44 секунды

    AdmBuxonly, умные люди не делают селект перед апдейтом

    UPDATE all_books SET load=load+1 WHERE id='$id'
    Спустя 18 сек.
    да тип должен быть ИНТ
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz 19 июля 2009 г. 9:15, спустя 10 минут 23 секунды

    CTAPbIu_MABP, спасибо тебе , умный человек , код у него теперь до 5 строк уменьшился
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 19 июля 2009 г. 11:08, спустя 1 час 53 минуты 33 секунды

    <?php include('config.php');
    $result_new_update = mysql_query("SELECT * FROM all_books", $con);
    if(!$result_new_update)
    {
    echo "<br><p>При подключении к базе данных возникла ошибка!</p><br><br>";
    include('include/footer.php');
    exit(mysql_error());
    }
    if(mysql_num_rows($result_new_update) > 0)
    {
    $new_update = mysql_fetch_array($result_new_update);
    }
    else
    {
    echo "<br><p>В базе данных нет информации!</p>";
    }
    ?>




    <?php

    if(isset($_GET['id_book']))
    {
    $id = $_GET['id_book'];
    }

    $url_book = $new_update['url'];

    $nlbu = mysql_query("UPDATE all_books SET load=load+1 WHERE id='$id'");
    if($nlbu)
    {
       echo "<html>
             <head><meta http-equiv='Refresh' content='0; URL=$url_book'></head></html>";
       exit();
    }
    else
    {
       echo "Обновление не произошло!";
    }


    ?>


    Сделал так. Нехочет.
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 19 июля 2009 г. 12:11, спустя 1 час 2 минуты 41 секунду

    тип ИНТ сделал?
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 19 июля 2009 г. 15:25, спустя 3 часа 13 минут 56 секунд


    $nlbu = mysql_query("UPDATE all_books SET load=load+1 WHERE id={$id}");
    if(!$nlbu)
    echo "Обновление не произошло!\n Ошибка:" . mysql_error();

    exit(header("Location: {$url_book}"));


    Замени свой кусок моим и скажи что в ошибке пишется.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!