Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.06.2010, 19:47
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 1  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
По умолчанию Не работают пользовательские переменные в php

Пишу в MySQL-front

Код:
select region_id,
@demo_min:=(floor((payment_min-payment_min*0.15)+rand()*(payment_min*0.35))) as demo_pay_min,
@demo_max:=(floor((payment_max-payment_max*0.15)+rand()*(payment_max*0.35))) as demo_pay_max,
(floor((@demo_meen:=(@demo_min+@demo_max)/2-@demo_meen*0.025)+rand()*(@demo_meen*0.05))) as demo_pay_meen,
(floor((salary_min-salary_min*0.15)+rand()*(salary_min*0.35))) as demo_sal_min,
(floor((salary_max-salary_max*0.15)+rand()*(salary_max*0.35))) as demo_sal_max
from payment_item where payment_id=34;
Все работает.
Вставляю это в phpMyAdmin(или отсылаю через mysql_query) не работают пользовательские переменные, то есть в столбец demo_pay_meen выводится NULL.
Собственно вопрос, почему не работают переменные?
__________________
Я просто добрый шутник.

Старый 07.06.2010, 14:44
membrilius вне форума Посмотреть профиль Отправить личное сообщение для membrilius Найти все сообщения от membrilius
  № 2  
Ответить с цитированием
membrilius
 
Аватар для membrilius

Регистрация: Aug 2008
Сообщений: 258
При чем тут PHP, он только отправляет обработчику MySQL...

И вначале проверте работоспособность на более простом запросе.

Код:
SELECT @param:= (3+3) as test1, (@param+3) as test2 FROM payment_item
А ну ошибка наверняка из-за вот этого куска:
Код:
(floor((@demo_meen:=(@demo_min+@demo_max)/2-@demo_meen*0.025)+rand()*(@demo_meen*0.05))) as demo_pay_meen,
SQL это не язык программирования.. Либо переменная определяется в SELECT как в случае с:

Код:
@demo_min:=(floor((payment_min-payment_min*0.15)+rand()*(payment_min*0.35))) as demo_pay_min,
либо так SET @demo_min:=1
либо так SELECT @demo_min:=1

а потом эту переменную использовать в другом запросе..

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.