Здравствуйте, помогите пожалуйста. Вобщем хочу определить в константах параметры подключения к базе данных в файле обработчике, у меня много функций которые вызываются по мере необходимости и во многих из них есть какие либо запросы в БД MySQL определять в переменных а потом прописывать их как глобал, выход конечно но мне кажется что в константах будет как то проще и красивее чтоли, к тому же константы имеют глобальную область видимости, вобщем посмотрите пример что я хочу зделать. define("SERVER","localhost"); // Константы подключения к Базе Данных define("USER", "user"); define("PASSWD", "12345"); $result = mysql_query("SELECT * FROM (тут хочу поставить константу) WHERE user_login ='{$str_1}'", $id_connect); пробовал по разному, в инете искал но ничего не нашол, с переменными отлично работает. Вобщем подскажите пожалуйста как там надо указывать что это именно константа а не строка запроса, и как вы вобще находите этот способ передачи ? может есть лучше, элегантней ? PS: Прошу не посылать в Гугль я только оттуда )
видел в мануале недавно что то похожее PHP: <?php define('TABLE', 'test'); function getConst($var){ return $var; } $functionName = 'getConst'; echo "SELECT * FROM `{$functionName(TABLE)}`"; ?> а вообще чем конкатенация не устраивает?
Сорри никак не пойму как конкатенацию использовать в моём случае можно $a .=TABLE; $result = mysql_query("SELECT * FROM {$a} WHERE user_login ='{$str_1}'", $id_connect); я себе это так представил. я хочу вот так чтоб было примерно $result = mysql_query("SELECT * FROM TABLE WHERE user_login ='{$str_1}'", $id_connect); где TABLE это константа и никакого лишнего кода и константы видимы во всех функциях и больше я их вобще не трогаю, а при переносе допустим на другой хостинг просто в файле обработчике правлю пару строк где идёт определение и всё. Проверил с функцией не работает ошибку выдаёт. Вы проверяли ? у вас работает ?
загуглил и попал на хабр? там тухлый топик и это notice PHP: <?php mysql_query("SELECT * FROM ".TABLE." WHERE user_login ='{$str_1}'", $id_connect);
А если так? $result = mysql_query("SELECT * FROM " . TABLE . " WHERE user_login ='{$str_1}'", $id_connect);
Ура !!! Спасибо огромное !!! я точно часа полтора по инету лазил столько всего перечитал ничего подобного не нашол $result = mysql_query("SELECT * FROM " . TABLE . " WHERE user_login ='{$str_1}'", $id_connect); Отлично работает Да нет там помоему не был. Ну да часто вижу что так пишут '"$list"' про скобки уж не помню откуда взял помоему читал гдето что надо. Я сейчас уже так пишу '"$list"', а про скобки это да кажется когда в текст втавляеш переменные тогда скобки желательны. ещё раз Спасибо.
Web_LaMeR когда массивы вставляешь " {$row['ololo']}" или результат методов " {$obj->method()}ы" для переменных только когда рядом с символом "{$var}пыщьпыщь"