Перейти к содержимому


fata error sql


Сообщений в теме: 6

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 25 Август 2010 - 02:32

есть такой код:

Цитата

$r1= data_table("Общая", "id={ID}");
if($r1["Статус заказа"] == 'Возврат') {
$iduser = "SELECT f951 FROM ".DATA_TABLE."84 WHERE f948='".$r1["id_заказа"]."'";
$Qiduser = mysql_query($iduser) or die(mysql_error()."<br />".$iduser);
$user = mysql_fetch_array($Qiduser);
print_r($user);
}

После помещения его в вычисления таблицы, при попытке сохранить изменения в строке в этой таблице выдает:

Array ( [0] => 27 [f951] => 27 )
Fatal error: 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 field_id=991' at line 1
SELECT * FROM f5_acc_fields WHERE group_id= AND field_id=991
in /var/www/host2/include/functions1.php on line 861

Может я чего-то не понимаю? Объясните что это может быть?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Август 2010 - 13:11

Цитата

$user = mysql_fetch_array($Qiduser);
Переменная $user является системной (в ней хранятся данные текущего пользователя) и не может быть использована в других целях. У вас она перезаписывается, от чего и возникает дальнейшая ошибка.

#3 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 25 Август 2010 - 13:36

Просмотр сообщенияРазработчик (25.8.2010, 13:11) писал:

Переменная $user является системной (в ней хранятся данные текущего пользователя) и не может быть использована в других целях. У вас она перезаписывается, от чего и возникает дальнейшая ошибка.
А можно весь список имен зарезервированных переменных и констант?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Август 2010 - 13:48

Полный список переменных я вам и сам не назову, пока проблемы возникали только из-за $user. Думаю мы просто сделаем отдельное пространство имен для вычислений в таблицах (так же как это имеет место для вычислений в полях), чтобы не было подобных конфликтов. Пока просто старайтесь не давать переменным слишком простых имен.

#5 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 25 Август 2010 - 15:00

Просмотр сообщенияРазработчик (25.8.2010, 13:48) писал:

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

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 25 Август 2010 - 15:06

В документации этого нет потому что это "баг, а не фича", который пока не успели исправить.

#7 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 25 Август 2010 - 20:40

Просмотр сообщенияРазработчик (25.8.2010, 15:06) писал:

В документации этого нет потому что это "баг, а не фича", который пока не успели исправить.
Ясно. Спасибо за помощь.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных