Автор Тема: Загадка...  (Прочитано 3982 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vespen

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Загадка...
« : 18 Января 2004, 13:31:19 »
Оттягиваю момент установки phpmyadmin до последнего :о)
Тривиальная задача, написать скриптик на выполнение sql-запросов. Писать буду подробно, т. к. все может иметь значение.

Есть таблица mysql:

CREATE TABLE news
(
new_id INTEGER NOT NULL AUTO_INCREMENT,
cu_id INTEGER NOT NULL,
new_header BLOB NOT NULL,
new_date DATE NOT NULL,
new_text BLOB NOT NULL,
emp_id INTEGER NOT NULL,
PRIMARY KEY(new_id)
);

Есть html-форма отправки sql-запроса и пхп-шный скрипт на выполнение этого запроса. Оба документа в кодировке UTF-8, которая является default charset на Апаче.

magic_quotes_gpc off;
слэши перед эскейп символами проставлены вручную.

Вставляю в таблицу запись:

INSERT INTO news (cu_id, new_header, new_date, new_text, emp_id)
VALUES (1, \'какой-то русский текст с \\"кавычками\\" \', 030303, \'какой-то русский текст с \\"кавычками\\" \',1);

MySQL пишет ошибку синтаксиса: "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 "какой-то русский текст с \\"кавычкЊ

Обратите внимание на символ древнекитайского алфавита "Њ" в конце строки ошибки. Как с этим бороться?
Кодировку домунтов изменить не имею права, настройки Apache не в моей юрисдикции.
~~~~~~~~~~~~~~~

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #1 : 18 Января 2004, 14:33:44 »
near в мускулевых сообщениях означает ДО. Перед. То есть не в том слове, которое паказывает, а ПЕРЕД ним.
Запрос, как ты его пишешь в скрипте - показывай своей девушке.
А здесь, если ты хочешь, чтобы тебе нашли ошибку, то показывай то, что нагенерилось! Желательно, чтобы текст был не 20 килобайт.

"вручную" - это как?

Оффлайн vespen

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Загадка...
« Ответ #2 : 20 Января 2004, 12:54:11 »
Уважаемый RomikChef.
Я предвидел подобные замечания. Я хотел, чтобы картина была более полной. Впредь буду краток.

"Запрос, как ты его пишешь в скрипте - показывай своей девушке." - запрос я как раз пишу не в скрипте. Он передается GET\'ом из поля ввода в форме.

"показывай то, что нагенерилось" - а что, собственно могло нагенериться, если мускул не выполнил запрос. Имеем пустую таблицу и сообщение об ошибке.

""вручную" - это как?" - ручками в поле textarera формы ввода запроса.

И последнее...
Позволь мне решать, что я буду показывать своей девушке.(уж во всяком случае не текст запроса)
===================

как бы там ни было, а тема остается открытой.
« Последнее редактирование: 20 Января 2004, 13:00:43 от vespen »
~~~~~~~~~~~~~~~

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Загадка...
« Ответ #3 : 20 Января 2004, 13:31:11 »
Цитировать
vespen:
Оттягиваю момент установки phpmyadmin до последнего :о)

лисапед (с)ThE0ReTiC
установи и не мучайся
работа в Украине

Оффлайн vespen

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Загадка...
« Ответ #4 : 20 Января 2004, 14:15:48 »
2  Yukko:
"установи и не мучайся" - может мне еще frontpage установить, что бы мышкой сайты делать? Это не решает проблему.

Интересная особенность: ошибка возникает, если текст вводимый в поле new_text в кириллице и достаточно большого объема.
~~~~~~~~~~~~~~~

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #5 : 20 Января 2004, 14:18:32 »
Цитировать
vespen:
""вручную" - это как?" - ручками в поле textarera формы ввода запроса.

Другой способ тебе неизвестен? сочувствую. Бегом в мою подпись и втыкать.
Цитировать
Он передается GET\'ом из поля ввода в форме.

Ты издеваешься что ли?

вот ты пришел к доктору. "У меня болит!"
Доктор у тебя спрашивает - что и как болит.
И ты ему отвечаешь
"ну типа траляля вот тут. как бы покалывает. Но это неважно, я для примера привел."

Скажи, ты правда такой эээ... несмышленый?
Ты пришел спросить, ГДЕ У ТЕБЯ ОШИБКА В ЗАПРОСЕ, но при этом вместо запроса привел НЕЧТО ПРИМЕРНОЕ? от балды написанное!

Хочешь, чтобы тебе нашли ошибку в твоем запросе?
Ну так приведи его здесь, чудик!
только не то, что ты вбиваешь в форму, а то, что тебе в скрипт попадает! команда echo тебе знакома?
Вывести на экран ты способен что-то? Или можешь только подсовывать методом тыка в запрос и гадать - слопает-не слопает?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #6 : 20 Января 2004, 14:21:04 »
э!
если текст большой, то не надо его сюда пихать!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #7 : 20 Января 2004, 14:22:06 »
ПОСТом передавай, энтузиаст...

Судя по способностям, которые ты тут демонстрируешь, фронтпейдж как раз по тебе...

Оффлайн vespen

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 14
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Загадка...
« Ответ #8 : 20 Января 2004, 14:38:44 »
Если бы все знал, сюда бы не заглядывал.
====================
тема закрыта...
~~~~~~~~~~~~~~~

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #9 : 20 Января 2004, 15:38:54 »
Кстати, а действительно...
Я никогда не задумывался над тем, как пхпмйадмин глотает запросы целиком.
А задачка-то нетривиальная.
В нем никто руками не слешит...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загадка...
« Ответ #10 : 20 Января 2004, 15:42:01 »
СТОП!

какое еще
Цитировать
поле new_text
???
ты же, вроде, говорил, что ты запрос передаешь целиком?

Ты можешь не путаться в показаниях, а внятно объяснить - что ты и куда вставляешь?
Все-таки, готовый запрос или "текст в кириллице"?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28