Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Использование имен переменных, хранимых в БД MySQL.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
mbrs
Отправлено: 08 Октября, 2011 - 16:42:35
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Суть вопроса раскрою на примере.
Имеем простейшую таблицу

CODE (text):
скопировать код в буфер обмена
  1.  
  2. mysql> select * from mytest where id=0;
  3. +----+-------------+
  4. | id | val         |
  5. +----+-------------+
  6. |  0 | var eq $var |
  7. +----+-------------+
  8. 1 row in set (0.01 sec)
  9.  


Далее
CODE (text):
скопировать код в буфер обмена
  1.  
  2.     $var=100;
  3.     $q="select * from mytest where id=0";
  4.     list($id, $val)=mysql_fetch_array(mysql_query($q);
  5.     echo $id . " " . $val . "\n";
  6.  


При запуске получаю
CODE (text):
скопировать код в буфер обмена
  1.  
  2. php my.php
  3. 0 var eq $var
  4.  


Требуется, чтобы произошла подстановка переменной $var ...
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $ php my.php
  3. 0 var eq 100
  4.  


Т.е. где-то данные из БД "закавычиваются" (?), интерпретатор не распознает переменную.

Как заставить РHP интерпретировать данные из БД как "родную" строку?
 
 Top
OrmaJever Модератор
Отправлено: 08 Октября, 2011 - 16:43:56
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
White
Отправлено: 08 Октября, 2011 - 16:57:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




PHP:
скопировать код в буфер обмена
  1. $var=100;
  2. $q="select * from mytest where id=0";
  3. echo $id . " " . $$val . "\n";

вы об этом?


-----
if(time()>1356048000) die();
 
 Top
mbrs
Отправлено: 08 Октября, 2011 - 17:02:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




OrmaJever пишет:


Знаю данную функцию, но, еще не разобрался с синтаксисом РНР (или этой функции в частности). Путем эксперименов, получалось добиться результата, если в БД будет что-то вроде

CODE (text):
скопировать код в буфер обмена
  1.  
  2. "$var="var eq " . $var;
  3.  


... а потом EVAL-ить... -
подобный подход используется в моем приложении в других участках кода...

Приведите рабочий пример, пожалуйста.
 
 Top
White
Отправлено: 08 Октября, 2011 - 17:05:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




mbrs зачем? попробуйте
PHP:
скопировать код в буфер обмена
  1. $var = '111';
  2. $val = 'var';
  3. echo $$val;
  4.  


-----
if(time()>1356048000) die();
 
 Top
mbrs
Отправлено: 08 Октября, 2011 - 17:10:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




White пишет:
PHP:
скопировать код в буфер обмена
  1. $var=100;
  2. $q="select * from mytest where id=0";
  3. echo $id . " " . $$val . "\n";

вы об этом?


в man-e по данным функциям ответа не нашел.
(Добавление)
White пишет:
mbrs зачем? попробуйте
PHP:
скопировать код в буфер обмена
  1. $var = '111';
  2. $val = 'var';
  3. echo $$val;
  4.  


Не подойдет.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB