За последние 24 часа нас посетили 37912 программистов и 1807 роботов. Сейчас ищут 874 программиста ...

Unknown column 'image' in 'field list'

Тема в разделе "Вопросы от блондинок", создана пользователем Roman82, 20 окт 2010.

  1. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    [​IMG]
    [​IMG]
    похожи, епт. Заклинатели нах.
     
  2. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    смотрите, у вас код, который работает дома, но не работает еще где-то. значит ошибка в окружении. и скорее всего в различиях в базе данных, на что прямым текстом указывает ошибка (если конечно это именно та ошибка).
    может вы в скрипте подключаетесь к какой-то базе и в таблице этой базы действительно нет колонки image ?
    самый простой способ - это подключится в консоли к базе и выполнить там запрос. или в phpmyadmin его выполнить и посмотреть результат.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Roman82
    подход такой.
    лезешь на php.net
    в правом верхнем углу - окошечко. там можно делать поиск. если не нашел, на страничке на котрой он об этом скажет, он предложит сделать поиск не только в функциях, но и везде.
    там статьи и спецификация всякого. Читаем, крутим страничку до каментов, внемлим вселенской мудрости, быстро копипастим - работает -> счастье.

    после того как заработало - открываем новый проект в NetBeans - бесплатный редактор с закачкой и возможностью дебага (дебаг пхп происходит на сервере, так что суровые сибирские мужики расставляют просто echo и var_dump на стадии разработки), называем красиво и закрываем.
    Берем листок бумаги, ручку-карандашик, и начинаем проектировать с того, что описываем цели и требуемые результаты. Слегка набрасываем алоритм просто русским языком. Чешем репу, ищем одинаковые куски - выносим в функции. Чешем репу еще и дописываем в параметры функций диапазон, в котором они будут считаться правильными и годными. В остальных случаях функа желательно чтобы выдавала что-то типа false или иное значение по умолчанию.

    Расписав это все в самых общих чертах, начинаем скрипт с объявления дефолтных значений переменных.

    Потом поехали по алгоритму писать. По мере дописывания до мест, где хорошо бы применить функу - пишем функи.

    Набрасываем какую-никакую структуру бд по живому прямо там и у себя в голове.

    Дописываем скрипт, чешем репу, осмысляем.

    Закрываем проект. Открываем новый проект и закрываем нетбинс опять.

    Берем листок бумаги, чешем репу, продумываем структуру БД с именами и типами полей. Читаем про типы и всякое такое на том же http://phpclub.ru/mysql/doc/column-types.html

    Расписав все красиво и точно начинаем неторопливо писать все в код скрипта.


    Вот теперь все будет работать.
     
  4. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    ?????
    PROFIT!!!!!111
     
  5. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    iliavlad, про несоответствие баз логично. база у меня только одна, и колонка image есть, через phpmyadmin смотрел.
    igordata, у меня все работало, до того момента пока я не вставил колонку image.
    Написал хостеру, может он че прояснит.
     
  6. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1

     
  7. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
  8. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    ну если вы не потроллить пришли, сделайте дамп базы, покажите его здесь и рядышком код, с помощью которого вы с базой работаете. тогда сразу будет видно.
    без дампа и кода смысла обсуждать нет.
     
  9. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    База данных
    Структура таблицы tbl_novosti
    Поле Тип Null По умолчанию
    novostiID int(100) Нет
    author varchar(500) Да NULL
    novost text Да NULL
    date varchar(50) Да NULL
    name varchar(100) Да NULL
    image text Да NULL


    do { if (!is_file("image_new/".$row_rs_tbl_novosti_prov['image'])) {
    $query_tbl_novosti_prov = "UPDATE tbl_novosti SET image='' WHERE novostiID=$id LIMIT 1";
    $update_nov_prov = mysql_query($query_tbl_novosti_prov, $unsk) or die(mysql_error()); }
    } while ($row_rs_tbl_novosti_prov = mysql_fetch_assoc($rs_tbl_novosti_prov));
     
  10. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Roman82
    код говно. Почему? - Потому что условие цикла проверяется ПОСЛЕ того, как цикл выполнен.
    Было бы лучше проверять ДО того, как выполняется цикл.
    В твоём же варианте $row_rs_tbl_novosti_prov нужно инициализировать ДО цикла,
    написав пару лишних строчек, запутав читабельность кода и т.д... и т.п...

    а проблема... попробуй поставить апострофы в названии колонки
    PHP:
    1. <?php
    2. $query_tbl_novosti_prov = "UPDATE tbl_novosti SET `image`='' WHERE novostiID=$id LIMIT 1";
    3. ?>
     
  11. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    С апострофами выдает:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''image'='' WHERE novostiID=41 LIMIT 1' at line 1
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Одинарная кавычка - не апостроф.
     
  13. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Roman82
    для тех, кто не различает на глаз апостроф и одинарную кавычку, могу подсказать, что апостроф (`) ставится клавишей "ё" в английской раскладке.
    для тех, кто не различает "е" и "ё" могу подсказать, что буква "ё" (та, которая нам нужна) отличается от "е" двоеточием сверху, и находится в левом верхнем углу клавиатуры, под кнопкой Esc
     
  14. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    С апострофами выводит тоже самое (отсутствие колонки image).
     
  15. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Roman82
    пересоздай таблицу и перезапусти сервер.
    если это глюк мускула (что тоже возможно), должно помочь.
     
  16. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Проблема решена. Хостер поменял сервера, и все что я делал, делал на старом сервере, на новом добавил колонку и все заработало.
    Gromo, по поводу кода:

    while ($row_rs_tbl_novosti_prov = mysql_fetch_assoc($rs_tbl_novosti_prov)) {
    if (!is_file("image_news/".$row_rs_tbl_novosti_prov['image'])) {
    $query_tbl_novosti_prov = "UPDATE tbl_novosti SET image='' WHERE novostiID=$id LIMIT 1";}};

    так лучше будет?
     
  17. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    должно быть. но убедись что всё работает так, как нужно.
    подозреваю, что чуть выше этого кода стояли ещё строки, необходимые для нормального функционирования твоего старого варианта цикла.
     
  18. Roman82

    Roman82 Активный пользователь

    С нами с:
    26 ноя 2008
    Сообщения:
    101
    Симпатии:
    0
    Да, все вроде работает, и выше есть код, там соединение с базой и выбор таблицы, но вобщем смысл я понял, спасибо!
    Всем спасибо за помощь.