![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Hunt |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.7.2008 Репутация: нет Всего: нет |
У меня похожая проблема:
Не могу понять в чем проблема, делаю абсолютно нормальный запрос к базе для добавления записей, а оно выдает ошибку № 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 '' at line 1... через PHP my admin делаю этот запрос(точь-в точь этот, потому что через пхп я паралельно и сделал запрос и вывел на экран, и с экрана скопировал и сделал запрос через PHP my admin) и запрос успешно выполняется.... в чем может быть проблема? вот код(данные читаются из файла):
вот что в итоге получаем в окне браузера:
итд... |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Hunt, это не "похожая проблема". Это совсем другая проблема.
Для начала добавь к запросу побольше переводов строк, желательно после каждого оператора и операнда - тогда по номеру строки мжно будет понять хотя бы, в каком месте запроса её что-то не нравится. И непонятно, почему ты не искейпишь входящие данные. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 7 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
здесь точка с запятой в конце запроса лишние. надо так:
|
||||
|
|||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: 1 Всего: 13 |
bars80080, это ещё одно правило хорошего кода, никаких лишних ; в конце запроса?
-------------------- |
|||
|
||||
| Hunt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.7.2008 Репутация: нет Всего: нет |
проблему уже нашел, она была в кодировке файла....
Feldmarschall, а что означает "искейпить входящие данные"? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 1 Всего: 32 |
Это значит, что у SQL запросов есть определенный синтаксис. Который надо знать.
Данные, подставляемые в запрос, должны отвечать следующим требованиям: строки должны заключаться в кавычки, и в них должны быть обработаны спецсимволы, с помощью функции mysql_real_escape_string() в кавычки ты заключаешь, а обработку не делаешь. поэтому, если во вставляемом слове встретится спецсимвол, это вызовет ошибку запроса. так же следует проверять числовые значения, действительно ли там число. иначе, если там встретится что-то другое, это вызовет ошибку запроса. Это сообщение отредактировал(а) Feldmarschall - 1.7.2008, 11:26 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
прикольно, всю жизнь считал, что ; ломает запрос из пхп...
Это сообщение отредактировал(а) bars80080 - 1.7.2008, 11:24 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |