Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SELECT: извлечь заранее заданный столбец
 
 автор: Romanych   (09.11.2011 в 12:57)   письмо автору
 
 

Вопрос в следующем. Возможно ли при запросе к базе использовать в наименовании колонки таблицы не конкретное имя, а переменную. Например вот так:

$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>";

Указанный пример не работает. Если все-таки можно, напишите, пожалуйста правильный синтаксис такого запроса.

  Ответить  
 
 автор: cheops   (09.11.2011 в 13:50)   письмо автору
 
   для: 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.

  Ответить  
 
 автор: Romanych   (09.11.2011 в 14:33)   письмо автору
 
   для: cheops   (09.11.2011 в 13:50)
 

Указанный вами код со * не работает. Вообще ни чего не выводиться, ошибки тоже не выводятся. Как Вы думаете в чем дело?

  Ответить  
 
 автор: cheops   (09.11.2011 в 14:39)   письмо автору
 
   для: Romanych   (09.11.2011 в 14:33)
 

1. Как это выглядит? Белый экран? Отображение ошибок включено в php.ini или .htaccess?
2. Какой-то другой код с участием MySQL работает корректно?

  Ответить  
 
 автор: Romanych   (09.11.2011 в 14:48)   письмо автору
 
   для: cheops   (09.11.2011 в 14:39)
 

Спасибо Вам за участие. Я разобрался. Ошибка была в следующем:
изначально было с ковычками: echo $myrow['$title_p']."<br>";
убрал ковычки и заработало: echo $myrow[$title_p]."<br>";

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования