Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2013, 17:18
Интересующийся
Отправить личное сообщение для rudolfe Посмотреть профиль Найти все сообщения от rudolfe
 
Регистрация: 25.02.2013
Сообщений: 14

Задать имя таблицы в SELECT из переменной
Привет!Такая вот проблема:
Код:
$expName='chtoto';
$res=mysql_query("SELECT * FROM '".$expName."' WHERE userid = '1'");
Ошибка в том что переменная не срабатывает как имя таблицы...В инете искал,нашёл только что задавать имя таблицы в запросе SELECT в виде переменной нельзя...помогите найти альтернативный путь или скажите о более гибкой конструкции где-бы заработал мною запрашиваемый запрос где имя таблицы задаётся через переменную
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2013, 17:27
Аспирант
Отправить личное сообщение для Freezoff Посмотреть профиль Найти все сообщения от Freezoff
 
Регистрация: 06.12.2012
Сообщений: 33

На мой взгляд у Вас просто неправильно расставлены кавычки...
$expName='chtoto';
$query="SELECT * FROM '$expName' WHERE userid = '1'";
$res=mysql_query($query);

Последний раз редактировалось Freezoff, 01.03.2013 в 17:39.
Ответить с цитированием
  #3 (permalink)  
Старый 01.03.2013, 17:35
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
На мой взгляд у Вас неправильно расставлены кавычки...
У вас тоже. Смешали двойные с одинарными

Код:
$expName='chtoto';
$res=mysql_query("SELECT * FROM `{$expName}` WHERE userid = 1");
1. ` не тоже самое что ', это разные кавычки. ` - это та что над буквой Ё Используется для экранирования имён столбцов, таблиц и т.п. на случай если они случайно совпадут с зарезервированными словами MySQL. ' - эта используется для строк.
2. А вот ID заврачивать в кавычки не обязательно. Всё равно в число преобразуется, ибо userid скорее всего типа INT.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)

Последний раз редактировалось Tim, 01.03.2013 в 17:37.
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2013, 17:47
Интересующийся
Отправить личное сообщение для rudolfe Посмотреть профиль Найти все сообщения от rudolfe
 
Регистрация: 25.02.2013
Сообщений: 14

аа чёрт я запутался..Вариант Тима работает,только в скрипте такое дело..вызывается скрипт через аякс и при выборе в списке селект передаются через пост переменные(это переменное=имя таблицы)...так вот при загрузке страницы и отправке пост данных в первый раз всё срабатывает и вот когда выбираю другое в списке и уже идёт второй запрос пост,то ничего не срабатывает..ребята помогите решить эту чёртову проблему...мозг раскалывается!)))
Ответить с цитированием
  #5 (permalink)  
Старый 04.03.2013, 02:20
Интересующийся
Отправить личное сообщение для squall88 Посмотреть профиль Найти все сообщения от squall88
 
Регистрация: 17.02.2013
Сообщений: 24

$expName = 'chtoto';
$res = mysql_query("SELECT * FROM $expName WHERE userid = '1' ");

Должно работать
Ответить с цитированием
  #6 (permalink)  
Старый 04.03.2013, 10:21
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

squall88,
Зачем единица в апострофах
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #7 (permalink)  
Старый 04.03.2013, 12:30
Интересующийся
Отправить личное сообщение для squall88 Посмотреть профиль Найти все сообщения от squall88
 
Регистрация: 17.02.2013
Сообщений: 24

Tim, да действительно лучше убрать.
Ответить с цитированием
  #8 (permalink)  
Старый 24.06.2013, 16:46
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

mysql_query('SELECT * FROM `'.$expName.'` WHERE `userid` = 1');
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вернуть имя переменной Йакуд Общие вопросы Javascript 21 18.05.2014 10:10
Можно ли по переменной как-то узнать ее имя? Почемучкин Общие вопросы Javascript 5 20.12.2013 16:20
Значение переменной, как имя для другой переменной Kosty@n Общие вопросы Javascript 2 15.12.2012 22:58
Сформировать имя переменной из другой переменной+строка sx00 Общие вопросы Javascript 6 28.11.2012 08:34
задать имя переменной в setvariable ppm Общие вопросы Javascript 1 12.03.2010 12:14