Возврат имен столбцов из таблицы MySQL с использованием PHP - PullRequest
0 голосов
/ 17 января 2010

Не могу понять это для моей жизни. Попытка вернуть имена столбцов из таблицы ценных бумаг клиентов, а затем вернуть результат в виде массива. Кто-нибудь может указать, где я сбился с пути?

mysql_select_db("HandlerProject", $con);        //Selects database
  $selectcols = "SELECT * FROM ".$clientname."securitiestable";     //selects all     columns from clients security table
  $tempcols = mysql_query($selectcols) or die(mysql_error());
  $returnedcols = $mysql_fetch_array($tempcols);
  $tempsymbol = mysql_query("SHOW COLUMNS FROM".$clientname."securitiestable");
  $symbol = $mysql_fetch_array($tempsymbol);

Ответы [ 2 ]

5 голосов
/ 17 января 2010

Предложения:

У вас есть $ знаки с префиксом вызовов mysql_fetch_array (), поэтому вам нужно присвоить значение (имя функции, которое вы хотите вызвать) для $mysql_fetch_array (возможно, именно поэтому вы видите ошибку Вы упоминаете в своем комментарии).

Также у вас пропущен пробел после FROM во втором запросе

//                                          v
$tempsymbol = mysql_query("SHOW COLUMNS FROM ".$clientname."securitiestable");

Последнее, что нужно проверить - установлен ли $clientname? 1011 *

Сказав это, примите совет Билла Карвина!

3 голосов
/ 17 января 2010

Я бы использовал mysql_fetch_assoc() для запроса SELECT, а затем вызвал бы array_keys() для любой строки результата.

$selectcols = "SELECT * FROM ".$clientname."securitiestable";
$tempcols = mysql_query($selectcols) or die(mysql_error());
$returnedcols = mysql_fetch_assoc($tempcols);
$colnames = array_keys($returnedcols);

Ваша фатальная ошибка вызвана отдельной проблемой: у вас есть символ $ в начале вашего вызова функции. Это допустимый синтаксис PHP, потому что вы можете поместить имя функции в переменную и вызвать его косвенно:

function foo($arg)
{
  echo $arg . "!\n";
}

$bar = "foo";

$bar("hello world");

Но в вашем случае это, вероятно, не то, что вы намеревались. Если вы хотите вызывать функцию по буквальному имени, не ставьте $ перед ней. Если у вас есть строковая переменная, которая содержит имя функции, вы можете использовать эту переменную, как показано выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...