За последние 24 часа нас посетили 18029 программистов и 1650 роботов. Сейчас ищут 1290 программистов ...

Почему ошибка 1064: You have an error in your SQL syntax ... to use near '/*'

Тема в разделе "MySQL", создана пользователем Сереганек, 4 май 2017.

  1. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Если через php отправляю mysql запрос, который содержит символы комментирования /*, то получаю ошибку синтаксиса:
    HTML:
    1. 1064: 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 '/*' AND hash='82c4f61cd2989405c354e4591d005b3c')' at line 1
    Другие виды комментирования работают: "-- " и "#".
    Если тот же запрос отправляю через консоль линукса, то все работает. Почему так?
     

    Вложения:

    • 6.jpg
      6.jpg
      Размер файла:
      78,2 КБ
      Просмотров:
      7
    • 8.jpg
      8.jpg
      Размер файла:
      96,5 КБ
      Просмотров:
      7
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Не закрытый /* разве является символом комментирования в mysql? И зачем отправлять такой запрос базе? Через консоль линукса работает, потому что там точка с запятой, а мультизапросы, по умолчанию, игнорируются сейчас мускулем в целях безопасности. Часть с ошибкой просто отбрасывается. А через тот инструмент, которым ты скидываешь, возможно идет принудительный мультизапрос. И мускуль им давится.
     
    Сереганек нравится это.
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    А что это за менеджер БД у тебя, к слову, такой странный? Самопись?
     
  4. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Да, самописный ))
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Прикольно, но чем phpMyAdmin не устроил?
     
  6. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    А чем консоль не устроила ?
     
  7. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Да это понятно, что есть разные варианты как можно отправить запрос. Но интересует вариант, когда юзер вводит что-то в поля и отправляет данные через форму, а php общается с БД. Я пытался разобраться почему не работало комментирование на случай, если пользователь введет его в текстовое поле. Ну а не экранирую я все это дело как раз для того, чтобы юзер мог наблюдать за тем, что происходит с его запросом. Это элемент обучения sql-иньекциям.
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    phpMyAdmin же.

    PMA сейчас уже обзаводится элементами IDE. Ну и в гуях мышой ковыряться приятнее, чем в консоли с докой в зубах. Ладно, если делаешь что-то, к чему привык, а вот когда за какой-то экзотикой лезешь, другой разговор идет. PMA уже давно охватывает все, что можно охватить, пожалуй. Даже умеет в построение диаграмм связей и в анализ эксплейнов. Отличный высокоуровневый инструмент, экономящий массу сил и времени.
     
  9. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    В PMA есть консоль :cool: