|
|
|
| Вопрос в следующем. Возможно ли при запросе к базе использовать в наименовании колонки таблицы не конкретное имя, а переменную. Например вот так:
$title_p='questions';
$result=mysql_query("SELECT $title_p FROM navigations where id=1", $db);
$myrow=mysql_fetch_array($result);
echo $myrow['$title_p']."<br>";
Указанный пример не работает. Если все-таки можно, напишите, пожалуйста правильный синтаксис такого запроса. | |
|
|
|
|
|
|
|
для: Romanych
(09.11.2011 в 12:57)
| | Вообще можно. Можно даже просто * использовать.
$title_p='questions';
$result=mysql_query("SELECT * FROM navigations where id=1", $db);
if(!$result) exit("Ошибка - ".mysql_error());
$myrow=mysql_fetch_array($result);
echo $myrow['$title_p']."<br>";
|
PS Динамические запросы, да и статические тоже, лучше всегда проверять на корректность явно. MySQL и PHP - это разные среды, они ничего не знают друг о друге, и ошибка на стороне MySQL не отображается автоматически на стороне PHP. | |
|
|
|
|
|
|
|
для: cheops
(09.11.2011 в 13:50)
| | Указанный вами код со * не работает. Вообще ни чего не выводиться, ошибки тоже не выводятся. Как Вы думаете в чем дело? | |
|
|
|
|
|
|
|
для: Romanych
(09.11.2011 в 14:33)
| | 1. Как это выглядит? Белый экран? Отображение ошибок включено в php.ini или .htaccess?
2. Какой-то другой код с участием MySQL работает корректно? | |
|
|
|
|
|
|
|
для: cheops
(09.11.2011 в 14:39)
| | Спасибо Вам за участие. Я разобрался. Ошибка была в следующем:
изначально было с ковычками: echo $myrow['$title_p']."<br>";
убрал ковычки и заработало: echo $myrow[$title_p]."<br>"; | |
|
|
|