Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Ошибка казалось бы простого запроса

Форум для авторов модов для phpBB 2.0.x.
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Ошибка казалось бы простого запроса

Сообщение Доминион »

Подобный запрос в bbcode.php, при подключении переменых для global выдает ошибку самого запроса:

Код: Выделить всё

$sql = 'SELECT username, user_id, user_level
		FROM ' . USERS_TABLE . '
		WHERE username . ' $text;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain user information.", '', __LINE__, __FILE__, $sql);
	}
Что такого страного? В переменную $text идет любое имя пользователя.
Последний раз редактировалось Доминион 08.12.2005 0:08, всего редактировалось 1 раз.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

я дурак? 0_о
а разве не

Код: Выделить всё

WHERE username ' . $text;
?

Добавлено спустя 1 минуту 35 секунд:

и кстати... это только правильней закончить как для пхп... а для мускула...

Код: Выделить всё

$sql = 'SELECT username, user_id, user_level 
      FROM ' . USERS_TABLE . " 
      WHERE username = '" . $text . "'";
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

[R: R@m$e$ :U] если бы.

Если присвоить WHERE user_id ' . $text; - все идет нормально.

Ладно поясню - $text - это текст BBCode, идущий из сообщений. При сравнивании с id пользователя все идет нормально и BBCode выполнят все функции, но как только сравнить (вписать в код) имя пользователя и попытатся выполнить такой же запрос, но для username, выводится ошибка.

Добавлено спустя 39 секунд:

[R: R@m$e$ :U], попробую :).
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

Доминион
смотрим мое добавление... =) там есть нюанс про ковычки... а это не маловажно при работе с текстом, а не числами...

Добавлено спустя 3 минуты 25 секунд:

Доминион
мдя... +) как плохо когда одновременно на форуме =))) пересекаемся постами =)))
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

[R: R@m$e$ :U], пробую. Выдает критическую ошибку уже другого рода. Синтаксис.

Может быть:

Код: Выделить всё

WHERE username = '" . $text . "';
?

Добавлено спустя 1 минуту 24 секунды:

[R: R@m$e$ :U], это точно. Твой вариант тоже не работает.

Опять Parse error.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

Доминион
а взять весь мой sql или только последняя строчка? =) тк прошу обратить внимание на
Доминион писал(а):FROM ' . USERS_TABLE . '
[R: R@m$e$ :U] писал(а):FROM ' . USERS_TABLE . "
это многое меняет... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

Сейчас попробую :D.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

в общем чувствую, что вся эта дискусия только запутала...
заменяй свой код на этот...

Код: Выделить всё

$sql = 'SELECT username, user_id, user_level 
      FROM ' . USERS_TABLE . " 
      WHERE username = '" . $text . "'"; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, "Could not obtain user information.", '', __LINE__, __FILE__, $sql); 
   }
и пробуй... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

Огромное спасибо! Вышло наконец-то.

Блин - это все из-за специфики bbcode.php :).
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

OFFTOP
Доминион писал(а):Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того им правил я...
ошибка в последнем предложении... пропущено "чтобы"... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

:oops: ... Рассеян. Грешен. Каюсь.
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

Доминион
а где ббкод? это специфика пхп и мускул =)
а проблема потому что...
[R: R@m$e$ :U] писал(а):есть нюанс про ковычки... а это не маловажно при работе с текстом, а не числами...
Добавлено спустя 50 секунд:
Доминион писал(а): ... Рассеян. Грешен. Каюсь.
да ладно =) кто не промахивается? =))
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Доминион
phpBB 1.4.2
Сообщения: 56
Стаж: 18 лет 11 месяцев
Откуда: Россия, город Москва
Контактная информация:

Сообщение Доминион »

[R: R@m$e$ :U], BBCode выше, если ты про мой код. Он не нужен. Не работал только запрос :(. ЭТо кстати для модификации, которая мне понадобилась - BBCode имени пользователя - вводишь тэг [n]Имя[/n], и получаешь ссылку на профиль, цвет и прочее.
[R: R@m$e$ :U] писал(а):Доминион писал(а):
... Рассеян. Грешен. Каюсь.

да ладно =) кто не промахивается? =))
Согласен =).
Для чего существую я? Для того чтобы править эти миром. Для чего существует этот мир? Для того чтобы им правил я...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Доминион писал(а):Блин - это все из-за специфики bbcode.php
Это все из-за попытки программировать, не зная как это делается, просто копируя чужие фрагменты и пытаясь заставить их работать... С кавычками еще можно списать на то что это не самые легкоотлаживаемые ситуации, но вот это
Доминион писал(а):WHERE username . ' $text;
... говорит о том, что автор плохо себе представляет что такое SQL-запрос по выборке данных.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 2 месяца
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] »

поддерживаю Ксперта =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Закрыто

Вернуться в «Для авторов (phpBB 2.0.x)»