За последние 24 часа нас посетили 67100 программистов и 1641 робот. Сейчас ищут 983 программиста ...

Превозмогания тред

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 27 июн 2017.

  1. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. CREATE TABLE catalogs (
    2. id_catalog INT(11) NOT NULL,
    3. name TINYTEXT NOT NULL
    4. PRIMARY KEY (id)
    5. );
    6. INSERT INTO catalogs VALUES (0, 'Процессоры'),
    7. (0, 'Материнские платы'),
    8. (0, 'Видеоадаптеры'),
    9. (0, 'Жесткие диски'),
    10. (0, 'Оперативная память');
    Статический анализ:

    Найдено 2 ошибок при анализе.

    1. Ожидалась запятая или закрывающая скобка. (near "(" at position 91)
    2. Неожиданное начало выражения. (near "id" at position 92)
    SQL запрос:

    CREATE TABLE catalogs ( id_catalog INT(11) NOT NULL, name TINYTEXT NOT NULL PRIMARY KEY (id) )

    Ответ MySQL: [​IMG]

    #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '(id)
    )' на строке 4
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @ubunta2
    тебе не надоело копировать с книги? Перепиши лучше в ручную, тогда и ошибки исчезнут.
     
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @ubunta2
    PHP:
    1. id_catalog INT(11) NOT NULL,
    2. name TINYTEXT NOT NULL
    3. PRIMARY KEY (id)
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    PHP:
    1. CREATE TABLE catalogs (
    2. id_catalog INT(11) NOT NULL,
    3. name TINYTEXT NOT NULL,
    4. PRIMARY KEY (id)
    5. );
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. CREATE TABLE catalogs (
    2. id_catalog INT(11) NOT NULL,
    3. name TINYTEXT NOT NULL,
    4. PRIMARY KEY (id)
    5. );
    6. INSERT INTO catalogs VALUES (0, 'Процессоры'),
    7. (0, 'Материнские платы'),
    8. (0, 'Видеоадаптеры'),
    9. (0, 'Жесткие диски'),
    10. (0, 'Оперативная память');
    SQL запрос:


    CREATE TABLE catalogs (
    id_catalog INT(11) NOT NULL,
    name TINYTEXT NOT NULL,
    PRIMARY KEY (id)
    )

    Ответ MySQL: [​IMG]

    #1072 - Ключевой столбец 'id' в таблице не существует
     
  6. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    @ubunta, делаешь первичный ключ для id, но само поле не создаёшь
     
  7. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    в книге так
     
  8. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
  9. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    веб разработка
    почитай в летописи там я скидывал уже
     
  10. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    А что скажете насчет Морисона изучаем PHP и MYSQL ,книжка как раз для начинающих)
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @ubunta2
    при вставке записи или обновлении ты не должен первичный ключ поле ставить 0, лучше поставь null думаю получится.
     
  12. san4ez

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

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    а ты не пробовал не просто копировать код с книги, а понимать, что он делает?)
     
  13. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    а что делать если в книги реально нет запятой или что-то
    реально видно в книге ошибка
    я перепечатываю с книги код
     
  14. san4ez

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

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    так от ошибок никто не застрахован, именно поэтому и нужно ПОНИМАТЬ, что ты перепечатываешь
    --- Добавлено ---
    ты создаешь столбец id_catalog, а первичный ключ присваиваешь для столбца id.
     
  15. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    id скорее должен быть id_catalog
     
  16. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. CREATE TABLE tbl (
    2. id_catalog int(ll) NOT NULL,
    3. putdate datetime NOT NULL);
    4. INSERT    INTO    tbl    VALUES    (5, '2007-01-04 05:01:58');
    5. INSERT    INTO    tbl    VALUES    (3, '2007-01-03 12:10:45');
    6. INSERT    INTO    tbl    VALUES    (4, '2007-01-10 16:10:25');
    7. INSERT    INTO    tbl    VALUES    (1, '2006-12-20 08:34:09');
    8. INSERT    INTO    tbl    VALUES    (2, '2007-01-06 20:57:42');
    9. INSERT    INTO    tbl    VALUES    (2, '2006-12-24 18:42:41');
    10. INSERT    INTO    tbl    VALUES    (5, '2006-12-25 09:35:31');
    11. INSERT    INTO    tbl    VALUES    (1, '2006-12-23 15:14:26');
    12. INSERT    INTO    tbl    VALUES    (4, '2006-12-26 21:32:00');
    13. INSERT    INTO    tbl    VALUES    (3, '2006-12-25 12:11:10');
    SQL запрос:


    CREATE TABLE tbl (
    id_catalog int(ll) NOT NULL,
    putdate datetime NOT NULL)

    Ответ MySQL: [​IMG]

    #1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около 'll) NOT NULL,
    putdate datetime NOT NULL)' на строке 2
     
  17. san4ez

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

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    о как точно тебе машина сказала =)
     
  18. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Там 11 (число одиннадцать) должно быть, а у тебя две буквы l (ll). Такое впечатление, что ты примеры, не разбирая, копируешь из дурно распознанной электронной книги.
     
  19. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mkramer
    я ему уже несколько раз написал, зачем копировать с книги. Он водит нас за нос, говорит перепечатывает, я ему не верю.
    @ubunta2
    Иди начни нормально перепечатывать ибо так не фига и не поймешь что в запросе происходит.
     
  20. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    заработало
     
  21. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @ubunta2
    через пол часа опять ошибка синтаксиса будет.
     
    Dimon2x нравится это.
  22. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. SELECT id + 5 FROM tbl;
    Ошибка

    SQL запрос: Документация

    SELECT id + 5 FROM tbl LIMIT 0, 50

    Ответ MySQL: Документация
    #1054 - Неизвестный столбец 'id' в 'field list'
     
  23. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
  24. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @ubunta2
    по моему такие запросы делать нельзя, либо я таких не видел.
     
  25. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28