LINUX.ORG.RU

[mysql] Имя таблицы как константа PHP

 


0

0
В коде есть define("DB4","db_admin"); Это делается, чтобы и функции mysql_init донести всему скрипту имя БД.

Есть mysql_query("SELECT * FROM ".DB$.");

По идее, должна бы подставиться константа DB4, но она этого не делает, в запросе вылезает DB4.

Можно ли сделать константу именем таблицы, или проще объявить глобальные переменные?

> константу именем таблицы

> глобальные переменные


за такое - руки отрывать нужно.
man ORM.
isden ★★★★★
()
> mysql_query("SELECT * FROM ".DB$.");

Меня удивляет, что этот запрос вообще запускается. Это раз. Во-вторых, константа у тебя теряется по дороге. В-третьих, ты не просто нигга, ты нигга из каменного века, раз до сих пор не слыхал о PDO и им не пользуешься. В-четвертых, использовать константы на случай «а ну ведь как имена таблиц поменяются» — это такими тараканами из архитектуры проекта и его архитектора за версту несет, что хочется взять и удолбать.
shimon ★★★★★
()
Ответ на: комментарий от isden
> за такое - руки отрывать нужно.
> man ORM.


ORM нужен далеко не всегда, но использование define'овских констант в PHP — это редкостный мазохизм с отягчающими. Их ни скрыть, ни раздефайнить нельзя. Ж-пища полнейшая. Как и то, что необъявленная константа используется совершенно по-другому, чем необъявленная переменная (я знаю, по каким именно историческим причинам, что не отменяет общей угребищности).
shimon ★★★★★
()
1. С переменными работают как: s/DB$/$DB/

Это не не Бэйсик :)

2. У тебя define. И константа подставляется в без префикса переменной: s/DB$/DB/

3. Прямые SQL-запросы - это только для простеньких решений. В крупных сразу думай об ORM. Потом меньше геморроя будет.
KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73
Ээ.. То я сглупил, DB4. Забыл шифт отпустить. ORM со следующего проекта буду вкуривать.
NiggasLife
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.