Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> limit не работает с кавычками 
:(
    Опции темы
begin
Дата 10.10.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Есть вот такой запрос:
Код

$query="select `id` from `files` where `category`='$id' limit '$g_col'";

Так вот он не работал, пока я не убрал одинарные кавычки вокруг $g_col
Не пойму, ведь с кавычками было бы идеально правильно (пусть и не обязательно)
PM MAIL   Вверх
SelenIT
Дата 10.10.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



Нет, неправильно.

В кавычки можно брать данные (действительно любые, тут MySQL действительно автоматом приведет их к нужному для соотв. столбца типу), но не управляющие параметры, к которым относится LIMIT. LIMIT работает только с числами. Поэтому для подстановки параметров LIMIT-а из данных, пришедших от юзера, нужно обязательно использовать intval.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
begin
Дата 10.10.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Значит, насколько я понял, управляющие параметры в кавычки брать нельзя.
Вот еще вопрос в тему:
вот так не работает:
Код

$query="update `files` set `comments`=`comments`+1 where `id`='$file'";

а так работает:
Код

$query="update `files` set comments=comments+1 where `id`='$file'";

Тоже из-за этого?
PM MAIL   Вверх
SelenIT
Дата 10.10.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



Странно, по идее должны оба работать. Что за ошибку выдает mysql_error в первом случае?
А какой тип у поля comments?

Это сообщение отредактировал(а) SelenIT - 10.10.2007, 23:14


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
begin
Дата 11.10.2007, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



База не выдает ошибку, просто значение поля не приращивается на единицу, а остается неизменным.
У поля comments тип SMALLINT
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.